一个服务器获取到请求时的处理过程
let http=require(“http”)
let url=require(“url”)
let fs=require(“fs”)
// 创建服务器
http.createServer( function (request, response) {
// 解析请求,包括文件名
var pathname = url.parse(request.url).pathname;
// 输出请求的文件名
console.log(pathname.substr(1),);//substr左边第一个字符不显示,显示后面的全部可以用来读取文件名去掉/
// 从文件系统中读取请求的文件内容
fs.readFile(pathname.substr(1), function (err, data) {
if (err) {
console.log(err);
// HTTP 状态码: 404 : NOT FOUND
// Content Type: text/html
if(pathname==”/“){
response.writeHead(200, {‘Content-Type’: ‘text/html’});
response.write(fs.readFileSync(“index.html”))
}else{
response.writeHead(404, {‘Content-Type’: ‘text/html’});
response.write(fs.readFileSync(“404.html”))
response.end(“文件”+pathname.substr(1)+”不存在”);
}
}else{ <br /> // HTTP 状态码: 200 : OK<br /> // Content Type: text/html<br /> response.writeHead(200, {'Content-Type': 'text/html'}); <br /> <br /> // 响应文件内容<br /> response.end(data); <br /> }<br /> // 发送响应数据<br /> // response.writeHead(200, {'Content-Type': 'text/html'});//只能设置访问的编码形式<br /> // response.write(fs.readFileSync("index.html"));//显示网页文件<br /> // response.write("123123");//在网页里加内容<br /> })<br /> }).listen(1231)//监听端口
目录
运行http.js 会自动根据输入路径读取内容
如果没有文件或没有读取权限就会显示404网页