Node——http模块

203 阅读2分钟

创建服务器的基本步骤

  1. 导入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")
 })