客户端 : 在网络节点中,负责消费资源的电脑,叫做客户端
服务器 : 负责对外提供网络资源的电脑,叫做服务器
http 模块 是node.js 官方提供的.用来创建web 服务器的模块.通过http 模块提供懂得 http.caeateServer() 方法,就能方便的吧一台电脑,变成一台Web服务器,从而对外提供Web资源
使用http模块 , 模块创建Web服务器 , 则需要导入它
const http = require('http')
通过http创建最基础的服务器
1 //导入http模块
const http = require('http')
2 //创建web服务器实例
const server = http.createServer()
3 //为服务绑定request绑定事件 只要触发服务器就会触发 request 监听客户端请求
server.on('request',function(req,res){
console.log('监听客户端请求')
})
4 //启动服务器
server.listen(80,function(){
console.log('server running at http://127.0.0.1:80')
})
req请求对象
const http = require('http')
const server = http.carateServer()
server.on('request',(req,res)=>{
//req是请求对象, 他包含了he护短相关数据和属性
//req.url 是客户端请求的 URL地址
//req.method 是客户端 method请求类型
const str = `Your require url is ${req.url },and require method method is ${req.method }`
})
res相应对象
在服务器request事件处理函数中,如果想访问与服务器相关的数据和属性,可以使用如下方式
res.end ( str ) 向客户端发送指定的内容, 并结束这次请求的处理过程
const http = require('http')
const server = http.carateServer()
server.on('request',(req,res)=>{
const str = `您请求的url地址是${req,url},请求的method类型是${res.method}`
//请求头 防止中文乱码
res.setHeader('Content-Type','text/html; charset=utf-8')
//把包含中文的内容,相应到客户端
res.end(str)
})
//启动服务器
server.listen(80,()=>{
console.log('server running at htttp://127.0.0.1')
})
根据不同的url相应不同的http
const http = require('http')
const server = http.createServer();
server.on('request', (req, res) => {
const url = req.url;
let content = '<h1>404 Not found ! <h1>'
if (url === "/" || url === "/index.html") {
content = '<h1>首页<h1>'
} else if (url === '/about.html') {
content = '<h1>关于页面<h1>'
}
res.setHeader('Content-Type', 'text/html; charset=utf-8')
res.end(content)
})
server.listen(80, function () {
console.log('server running at http://127.0.0.1:80')
})