渣渣后端成长之路渣渣前端成长之路

手把手教你用 Node 实现 HTTP 协议(一)

2019-11-04  本文已影响0人  昵称不用太拉风

手把手教你用 Node 实现 HTTP 协议(一)

在开始文章前,我们需要对一些基础知识有一些了解,比如 HTTP 协议是什么,HTTP 报文的格式,HTTP 协议的基础等等;

本篇文章将会使用到以下知识,希望读者在开始阅读前对基础知识有一些掌握:

我们最终的目标是实现由接口工具 Postman 发起一个请求,我们的 http 协议将请求的信息解析完成后,由我们的 http 服务端返回一个请求信息的 JSON 字符串,效果图如下:

最终效果图

我们的代码最终调用效果如下:

import http from './src/Http';

const server = http.createServer((req, res) => {
  res.setHeader('Content-Type', 'application/json')
  res.end(200, JSON.stringify(req.httpMessage));
});

server.listen(8888, () => {
  console.log("server is listening in 8888...");
});

有些朋友可能觉得上面的代码有点眼熟,其实上面的代码调用看起来就像是 Node 的 http 模块,我们这个教程的目的也可以说是实现一个 http 模块,可以接受 HTTP 请求,并且响应处理结果。

现在我们先来了解几个开头提到的基础知识:

HTTP 协议是什么?

HTTP 报文的格式

HTTP 协议的基础

从上面的几点可以看出,我们最主要的任务有两个,第一是建立 TCP 通信管道用于客户端与服务器的全双工通信,第二就是解析 HTTP 报文。

由于 TCP 协议已经被 Node 的 net 模块封装好了,所以我们下一章重点讲述对 HTTP 报文的解析。

原文地址,欢迎 Star

上一篇下一篇

猜你喜欢

热点阅读