http模块

回顾:什么是客户端,什么是服务器?

在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑,叫做服务器

服务器和普通电脑的区别在于,服务器上安装了web服务软件,如IIS,Apache等,通过安装这些服务器软件,就能把一台普通电脑变成一台web服务器

在Node.js中,我们不需要使用IIS,Apache等这些第三方web服务器软件,因为我们可以基于Node.js提供的http模块,通过几行简单的代码,就能轻松的手写一个服务器软件,从而对外进行web服务

http模块是Node.js官方提供的,用来创建web服务器的模块,通过http模块提供的http.createServe()方法,就能方便的把一台普通的电脑,变成一台Web服务器,从而对外提供Web资源服务

端口号 :每个端口号不能同时被多个web服务占用

在实际应用开发中,url中的80端口可以被省略 

创建web服务器基本步骤:

1)导入http模块

2)创建web服务器实例

3)为服务器绑定request事件,监听客户端的请求

4)启动服务器

// 1)导入http模块
const http=require('http')

// 2)创建web服务器实例
const server=http.createServer()
// 3)为服务器绑定request事件,监听客户端的请求
server.on('request',function(req,res){
  // req是请求对象,包含了客户端相关的数据和属性
  // req.url是客户端请求的url地址
  // req.method是客户端请求的method类型
  const url=req.url
  const method=req.method
  const str=`your request url is ${url},你请求的方法是 ${method}`
  console.log(str)
  // 防止中文显示乱码问题,需要设置
  res.setHeader('Content-Type','text/html:charset=utf-8')
  // res.end()方法,向客户端响应一些内容
  res.end(str)
})
// 4)启动服务器
server.listen(80,function(){
   console.log('server running at http://127.0.0.1')
})

小案例: 根据不同的url响应不同的内容:

const http=require('http')
const server=http.createServer()
server.on('request',function(req,res){
    const url=req.url
    console.log(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 is running http://127.0.0.1')
})

实现一个简单的web服务器:

实现步骤:

1)导入需要的模块

2)创建基本的web服务器

3)将资源的请求url地址映射为文件的存放路径

4)读取文件内容并响应给客户端

5)优化资源的请求路径

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值