这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
HTTP 协议的基本定义、HTTP 协议主要特征、HTTP 协议发展历程、HTTP 协议的报文结构:
- HTTP 协议的基本定义: HTTP (Hypertext Transfer Protocol) 是一种应用层协议,用于在 Web 上传输超文本数据。它是建立在 TCP/IP 协议之上的,主要用于客户端与服务器之间的数据传输。
- HTTP 协议主要特征:
- 基于请求/响应模型
- 无状态
- 支持文本和二进制数据
- HTTP 协议发展历程: HTTP/0.9: 第一个版本的 HTTP 协议,只支持 GET 请求方法。 HTTP/1.0: 新增了 HEAD、POST、PUT 等请求方法,支持更多的状态码。 HTTP/1.1: 新增了缓存控制、块编码传输等功能,并提高了连接复用性。
- HTTP 协议的报文结构: HTTP 报文由请求报文和响应报文两种。请求报文包括请求行、请求头、请求体三部分,响应报文包括状态行、响应头、响应体三部分。报文头部包含了有关报文的元数据,报文体包含了实际传输的数据。
HTTP 协议实战 - 浏览器、HTTP 协议实战 - Node篇、网络优化手段、HTTP 协议拓展 - 通信方式:
- HTTP 协议实战 - 浏览器: 浏览器通常使用 JavaScript 来发起 HTTP 请求,可以使用 XMLHttpRequest 或 Fetch API 来实现。这些 API 可以让开发者在前端发起 HTTP 请求,接收返回的数据并进行处理。
- HTTP 协议实战 - Node篇: 在 Node 中,可以使用 http 模块来发起 HTTP 请求。通过 http.request() 或 http.get() 方法可以发起请求。
- 网络优化手段:
- 使用 CDN 加速
- 开启 Gzip 压缩
- 减少请求数量
- 使用多域名加速
- 优化图片
- 缓存
- HTTP 协议拓展 - 通信方式: HTTP 协议除了常见的请求/响应模型外,还有其他通信方式。例如:
- WebSocket: 双向通信,支持长连接。
- HTTP/2: 支持多路复用和服务端推送。
- HTTP/3: 基于 QUIC 协议,提升了传输效率。
总结一下,HTTP是一种应用层协议,用于在Web上传输超文本数据。基于请求/响应模型,无状态,支持文本和二进制数据。 它历经了HTTP/0.9,HTTP/1.0,HTTP/1.1 三个版本,每个版本都有更多的功能。
报文由请求报文和响应报文两种,请求报文包括请求行、请求头、请求体三部分,响应报文包括状态行、响应头、响应体三部分。在实际应用中可以在浏览器或Node中使用API发起请求,也可以使用一些优化手段来提高网络效率。而且还有一些拓展的通信方式,如WebSocket,HTTP/2,HTTP/3等。