1. http 模块
1.1 什么是 http 模块
http模块是Node.js官方提供的、用来创建web服务器的模块。通过http模块提供的http.createServer()方法,就能方便的把一台普通的电脑,变成一台Web服务器,从而对外提供Web资源服务- 如果要希望使用
http模块创建Web服务器,则需要先导入它
const http = require('http')
1.2 进一步理解 http 模块的作用
- 服务器和普通电脑的区别在于,服务器上安装了
web服务器软件- 例如:
IIS、Apache等。通过安装这些服务器软件,就能把一台普通的电脑变成一台 web 服务器
- 例如:
- 在
Node.js中,我们不需要使用IIS、Apache等这些第三方web服务器软件。因为我们可以基于Node.js提供的http模块,通过几行简单的代码,就能轻松的手写一个服务器软件,从而对外提供web服务
2. 服务器相关的概念
2.1 ip 地址
IP 地址就是互联网上每台计算机的唯一地址,因此IP 地址具有唯一性IP 地址的格式:通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是 0~255 之间的十进制整数
- 例如:用点分十进表示的
IP地址(192.168.1.1)
注意事项:
1. **互联网中每台 `Web` 服务器,都有自己的 `IP` 地址**
- 例如:大家可以在 `Windows` 的终端中运行 `ping www.baidu.com` 命令,即可查看到百度服务器的 `IP 地址`
2. 在开发期间,自己的电脑既是一台服务器,也是一个客户端,为了方便测试,可以在自己的浏览器中输入 `127.0.0.1` 这个 `IP 地址`,就能把自己的电脑当做一台服务器进行访问了
2.2 域名和域名服务器
-
尽管
IP 地址能够唯一地标记网络上的计算机,但IP地址是一长串数字,不直观,而且不便于记忆,于是人们又发明了另一套字符型的地址方案,即所谓的域名地址(Domain Name) -
IP地址和域名是一一对应的关系,这份对应关系存放在一种叫做域名服务器(DNS,Domain name server)的电脑中。使用者只需通过好记的域名访问对应的服务器即可,对应的转换工作由域名服务器实现。因此,域名服务器就是提供IP 地址和域名之间的转换服务的服务器
注意事项:
1. 单纯使用 `IP 地址`,互联网中的电脑也能够正常工作。但是有了域名的加持,能让互联网的世界变得更加方便
2. 在开发测试期间, `127.0.0.1` 对应的域名是 `localhost`,它们都代表我们自己的这台电脑,在使用效果上没有任何区别
2.3 端口号
netstat -n 查看端口号
- 在一台电脑中,可以运行成百上千个
web 服务 - 每个
web 服务都对应一个唯一的端口号 - 客户端发送过来的网络请求,通过端口号,可以被准确地交给对应的
web 服务进行处理 - 自定义的端口号一般8000+以上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wi7xbOFq-1597916265294)(./images/Day_002/001 - 端口号.png)]
3. 创建web服务器
3.1 实现步骤和核心代码
- 导入
http 模块
const http = require('http')
- 创建
web服务器实例
// 调用 http.createServer() 方法,即可快速创建一个 web 服务器实例
const server = http.createServer()
- 为服务器实例绑定
request事件
// 为服务器实例绑定 request 事件,即可监听客户端发送过来的网络请求
// 使用服务器实例的 .on() 方法,为服务器绑定一个 request 事件
server.on('request', (req, res) => {
// 只要有客户端来请求我们自己的服务器,就会被触发 request 事件,从而调用这个事件处理程序
console.log('访问服务器成功')
}
Node.js 中文乱码及HTTP服务器原理

本文介绍了Node.js中的模块,特别是用于创建服务器的HTTP模块。讲解了服务器相关概念,如IP地址、域名和端口号。详细阐述了如何创建Web服务器,包括解决中文乱码问题和根据请求响应不同内容的方法。
最低0.47元/天 解锁文章
485

被折叠的 条评论
为什么被折叠?



