一. 创建 http 服务器
需要进行以下三步:
- 导入 http 模块
- 创建服务器对象
http.createServer((request,response)=>{}) - 监听端口,启动服务
注意:
- HTTP 协议的默认端口号是 80 ,HTTPS 协议的默认端口号是 443
- HTTP 协议中常用来进行服务器开发的端口号有 3000、8080、8090、9000等
二. 接收并查看接收到的请求报文相关的内容
<1> 查看请求体 【借助于buffer】
通过建立通道,来一点一点获取请求体:
request.on('data',chunk=>{})
获取完毕后,关闭通道:
request.on('end',()=>{})
<2> 获取请求路径和查询字符串
借助
request.url属性获取到的 url 是/anchor?id=222&type=1的形式。如果我们想要分开获取,或者是获取整理好的查询字符串,应该如何得到呢?
(1) [url模块] 的parse()方法
const url = require('url');
let res = url.parse(request.url); // 返回的是一个对象
(2) new URL() 实例化的方式
三. 设置响应报文并返回响应
<1> 设置响应状态码 response.statusCode = xxx
<2> 设置响应头信息 response.setHeader('头名':'头值')
<3> 设置响应体
两种方法:response.write() 和 response.end()
(1) response.write('xxx') 可以多次调用,会把设置的内容拼接在一起,作为响应体返回!!!但最后还要调用response.end()。
(2) 直接调用response.end('xxx'),【但需要注意response.end('xxx') 方法只能调用一次】
注意:
- 响应体的内容会直接渲染在页面中!!
- response.end() 接收的内容可以是字符串也可以是 buffer 形式的!!【所以,如果想要响应一个html页面,就可以通过读取该文件,然后将读取的结果进行返回】