http模块

http模块

什么是http模块

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

  1. 客户端:在网络节点中,负责消耗资源的电脑
  2. 服务器:负责对外提供网络资源的电脑

使用http模块,需要先导入http模块,导入方法const http = require('http')

服务器

1.IP地址

地址就是互联网上每台计算机的唯一地址,因此IP地址具有唯一性。如果把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,只有在知道对方IP地址的前提下,才能与对应的电脑之间进行数据通信。

注意:

  • 互联网中每台Web服务器,都有自己的IP地址。
  • 在开发期间,自己的电脑既是一台服务器,也是一个客户端,为了方便测试,可以在自己的浏览器中输入127.0.0.1这个IP地址,就能把自己的电脑当做一台服务器进行访问了。
2.域名和域名服务器

IP地址和域名是——对应的关系,这份对应关系存放在一种叫做域名服务器的电脑中。使用者只需通过好记的域名访问对应的服务器即可,对应的转换工作由域名服务器实现。因此,域名服务器就是提供IР地址和域名之间的转换服务的服务器。

注意:

  • 单纯使用IP地址,互联网中的电脑也能够正常工作。但是有了域名的加持,能让互联网的世界变得更加方便。
  • 在开发测试期间,127.0.0.1对应的域名是localhost,它们都代表我们自己的这台电脑,在使用效果上没有任何区别。
3.端口号

在一台电脑中,可以运行成百上千个web服务。每个web服务都对应一个唯一的端口号。客户端发送过来的网络请求,通过端口号,可以被准确地交给对应的web 服务进行处理。http://127.0.0.1:443冒号后的数字内容就是访问的端口号
在这里插入图片描述

注意:

  • 每个端口号不能被同时多个web服务器占用
  • 在实际应用中,只有URL中的80端口号可以被省略,其余端口号不能省略

创建最基本的web服务器

步骤:

  1. 导入http模块
  2. 创建web服务器实例
  3. 为服务器实例绑定request事件,监听客户端请求
  4. 启动服务器
1.导入http模块

语法格式:const http = require('http')

2.创建web服务器实例

语法格式:const sever = http.creatSever()

3. 为服务器实例绑定request事件

为服务器实例绑定request事件,即可监听客户端发送过来的网络请求:
在这里插入图片描述

4. 启动服务器

调用服务器实例的.listen()方法,即可启动当前的web 服务器实例:
在这里插入图片描述

req请求对象

当服务器接收到了客户端的请求,就会调用通过server.on()为服务器绑定的request 事件处理函数。如果想在事件处理函数中,访问与客户端相关的数据或属性,可以使用req请求对象:

req是请求对象,其中包括了与客户端相关的数据和属性

  • req.url是客户端请求的URL地址
  • req.method是客户端请求的method类型

具体使用
在这里插入图片描述
浏览器中默认的请求方式为GET,如果想得到请求方式为POST,需要借助postman

res响应对象

在服务器的request事件处理函数中,如果想访问与服务器相关的数据或属性,需要使用res响应对象:

res是响应对象,包含了与服务器相关的数据和属性

  • res.end()方法:向客户端发送指定内容,并结束这次请求的处理结果

具体使用
在这里插入图片描述

解决中文乱码问题

为了防止中文显示乱码问题,需要设置响应头 Content-Type的值为text/html; charset=utf-8
具体使用
在这里插入图片描述

根据不同的url相应不同的html内容

实现步骤:

  1. 获取请求的url地址
  2. 设置默认的响应内容为404 Not found,默认的是告诉客户端没有找到想要访问的页面
  3. 判断用户请求的是否为/或者/index.html首页
  4. 判断用户请求的是否为/about.html关于页面
  5. 设置Content-Type响应头,防止中文乱码
  6. 使用res.end()把内容响应给客户端

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

๑Aurora.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值