创建服务器的基本步骤
- 导入http模块
const http=require('http')
2.创建web服务器实例
const server=http.createServer()
3.为服务器实例绑定request事件,监听客户的请求
server.on('request',function(req,res){ console.log('xxxxxxx') })
4.启动服务器
server.listen(80,function(){ console.log('this server running at http://127.0.0.1:80') })
req请求对象
只要服务器接受了客户端的请求,就是通过调用server.on为服务器绑定request事件处理函数,如果想在事件处理函数中访问与客户端相关的数据或属性,可以使用如下的方式:
server.on('request'(req)=>{
//req是请求对象。它包含了与客户端相关的属性和数据,例如:
// req.url()是客户端请求的url地址
// req.method 是客户端的method请求类型
})
案例
const http=require('http');
const server=http.createServer();
server.on('request',function(req,res){
const url=req.url;
const method=req.method;
const str=`你的请求地址是${url},您的请求方法是${method}`;
})
server.listen('80',function(){//80是默认端口号,可自定义
console.log("this.server is running at http://localhost:80")
})
res响应对象
再服务器的request事件处理函数中,如果想访问与服务器相关的数据或属性,可使用如下方式:
server.on('request',(req,res)=>{
//res是响应对象,包含了与服务器相关的数据与属性,例如:
const str='你的请求地址是'+url+'你的请求方法是'+method
res.end()方法的作用:
//向客户端发送指定的内容,并结束这次请求的处理过程
res.end(str)
})
案例
const http=require('http');
const server=http.createServer();
server.on('request',(req,res)=>{
const url=req.url
const method=req.method;
const str=`您访问的地址是${url},访问的方式是${method}`;
res.end(str);
})
server.listen('80',function(){
console.log('this server is running at http://127.0.0.1:80');
})
综合案例:根据不同的url响应不同的html内容
const http=require('http');
const server=http.createServer();
server.on('request',function(req,res){
const url=req.url;
let content=`<h1>404 Not Found</h1>`;//设置默认的内容跟为404
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("this server is running at http://127.0.0.1:80")
})