HTTP 协议原理(一):简介

2021-05-30  本文已影响0人  林ze宏

目录

1 浏览器输入 URL 后 HTTP 请求返回的完整过程

浏览器输入 URL 后 HTTP 请求返回的完整过程

说明:

2 网络协议分层

经典五层模型

说明:

3 HTTP 协议历史

4 HTTP 的三次握手

客户端与服务端进行 HTTP 请求与响应,是需要在 TCP 连接的基础之上的,因为 HTTP 是不存在连接的概念,它只有请求和响应的概念,请求和响应都是数据包,他们之间的传输是需要进行一个传输的通道,而这个通道是通过 TCP 建立起来的连接。

HTTP 连接的三次握手

为什么要进行三次握手尼?

为了防止服务端开启一些无用的连接,因为网络传输是有延时的,如果客户端发送一个请求给服务器端,服务端直接发送数据给客户端, 这个数据包有可能因为网络的原因丢失了,所以,客户端就无法接受到服务器返回的数据,则,客户端可能会关闭这个连接,重新发起一个新的请求,而服务端是不知道客户端有没有接受到数据的这个过程。

如果没有第三次握手的话,服务端也不知道客户端有没有接受到这个信息,并且也无法确定到底是要关闭或者保持这个连接,服务端就会一直开着这个端口,等待客户端来发送请求,它是无法确定这个连接是否失败,所以,需要三次握手,来让客户端和服务端及时的知道该连接是否由于网络问题,而出现错误,避免资源浪费;

5 URI、URL 和 URN

6 HTTP 报文格式

请求报文首行信息包括,方法、URL、 HTTP 协议和版本

相应报文首行信息包括,HTTP 协议、状态码、状态码语义

7 使用 node 创建一个 HTTP 服务

service.js:

const http = require('http');

http.createServer(function (request, response) {
  console.log('request', request.url);
  response.end('1111')
}).listen(8888)

console.log('server listing 8888');

运行:node service.js

上一篇 下一篇

猜你喜欢

热点阅读