这是我参与「第四届青训营 」笔记创作活动的第5天
HTTP实用指南
一、重点知识
- 什么是HTTP
- 报文结构
- HTTPS
二、详细知识点介绍
1. 什么是HTTP?
- Hyper Text Transfer Protocol 超文本传输协议
- 位于应用层的协议,基于TCP协议
- 请求与响应两种报文
- 简单可扩展,可以在header里添加
- 无状态
请求和响应报文
2. 报文结构分析
HTTP/1.1为例
分req请求报文和res回应报文,第一行都标注了对应的请求方法/回应状态码,协议版本号(图中为HTTP/1.1)
headers会以空行结束,空行后的内容为body
req的请求方式有很多,有着不同的意义
同样res也有对应的许多状态码,来表示是否成功响应等。如200 OK表示请求成功,404表示请求资源不存在等
常用的请求头对应含义
常用的响应头对应含义
缓存过程
cookie
以键值对存在,secure,HttpOnly,SameSite都是与安全相关的值
3. 发展,HTTP/2更快更稳定更简单
1.x中传输过程中以完整的文本形式传输
2版本中会将每一个message都划分为帧,每个都包含一个帧头,帧的传输过程中用二进制编码的方式,相比起以前的纯文本效率更高
交错发送、接收方组织
HTTP/2另外一个特色就是连接,连接是永久性的,而且仅需每个来源一个连接,可复用性高,并且可以主动拒绝,面对大量数据时可以进行控制。
4. HTTPS(Hypertext Transfer Protocol Secure)
在HTTP的基础上经过了传输加密(TSL/SSL加密)的过程,使得安全性更高
分为两种加密方式:对称和非对称
三、小结
本文简单介绍了http的相关知识,能对http有个相关了解,而对于计算机网络而言,处于最顶层的应用层与http协议是密切相关的,分析它的报文结构有助于加深对浏览器解析网址和传输的认识。