http创建的应用
http.js
var http = require('http');
/**
* http.createServer()创建http服务器
*/
http.createServer(function(req,res){
/**
* req = request 获取浏览器参数
* res = response 返回数据
*/
res.writeHead(200, {"Content-Type": "text/html;charset=UTF-8"});
res.write('写啊写啊写bug<br>');
res.end('Hello World')
}).listen('8080')
console.log('server is running')
什么是web服务器
一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档。可以放置网站文件,让全世界浏览,也可以放置数据文件,让全世界下载,web服务器分为Apache、Nginx、IIS,web服务器工作原理:连接过程、请求过程、应答过程以及关闭连接。
创建node服务器
http.js
var http = require('http');
var fs = require('fs')
var path = require('path')
var url = require('url')
var Config = require('./model/getSuffixName')
/**
* http.createServer()创建http服务器
*/
console.log(path.extname('index.html')) // 输出.html
http.createServer(function(req,res){
/**
* req = request 获取浏览器参数
* res = response 返回数据
*/
/**
* 过滤掉?之后的数据
* 例: www.xx.com/index.html?asdasdadas=2 -----> www.xx.com/index.html
*/
var urlName = url.parse(req.url).pathname
if (urlName == '/favicon.ico') return
if (urlName == '/') {
urlName = 'index.html'
}
var suffixName = Config.getSuffixName(path.extname(urlName))
fs.readFile(`static/${urlName}`, (err, data)=>{
if (err) {
fs.readFile('static/404.html', (error, result)=>{
if (error) return
res.writeHead(200, {"Content-Type": `${suffixName};charset=UTF-8`});
res.write(result)
res.end()
})
} else {
res.writeHead(200, {"Content-Type": `${suffixName};charset=UTF-8`});
res.write(data)
res.end()
}
})
}).listen('8080')
console.log('server is running')
model/getSuffixName.js
function getSuffixName (url) {
switch (url) {
case '.html':
return 'text/html';
case '.css':
return 'text/css';
case '.js':
return 'text/js';
default:
return 'text/html';
}
}
exports.getSuffixName = getSuffixName
网友评论