什么是HTTP协议?
HTTP(Hyper Text Transfer Protocol)全称为超文本传输协议,用于从WWW服务器传输超文本到本地浏览器的传送协议,基于TCP的连接方式,它可以使浏览器更加高效,使网络传输减少。简单的说,HTTP协议就是用于规范客户端浏览器和服务器端以什么样的格式进行通信数据交互,作为应用层的面向对象的协议,HTTP由请求和响应构成,是一个标准的客户端服务器模型,也是一个无状态的协议。
Node.js的HTTP服务
Node.js提供了HTTP模块,HTTP模块主要用于搭建HTTP服务器端和客户端。HTTP服务器本质上也是一个Socket服务器,可以理解为在Socket服务器的基础上进行了一些封装,简化了一些操作。
HTTP模块常用API
1. http.Server对象
在Node.js中,HTTP服务器是指http.Server对象,用Node.js做的所有基于HTTP协议的系统,都是基于http.Server实现的。
2. http.IncomingMessage对象
在HTTP服务器和客户端都会创建http.IncomingMessage对象,它一般由http.Server的request事件发送,作为第一个参数传递。
3. http.ServerResponse对象
http.ServerResponse对象是返回给客户端的信息,决定了用户最终能看到的结果,它也是由http.Server的request事件发送,作为第二个参数传递。
使用HTTP模块构建简单的服务器
1.创建文件"index.js",写如下代码
//引入http内置模块
const http = require('http');
//创建httpServer服务
//回调函数中第一个参数是请求、第二个是响应
http.createServer(function (req, res) {
res.writeHead(200);
res.end('Hello World'