http协议详解
工作模式
单工
数据传输只允许在一个方向上的传输,只能一方来发送数据,另一方来接收数据并发送。例如:对讲机
半双工
数据传输允许两个方向上的传输,但是同一时间内,只可以有一方发送或接受消息。例如:打电话
全双工
同时可进行双向传输。例如:websocket
总结
http1.0:单工。因为是短连接,客户端发起请求之后,服务端处理完请求并收到客户端的响应后即断开连接。 http1.1:半双工。默认开启长连接keep-alive,开启一个连接可发送多个请求。 http2.0:全双工,允许服务端主动向客户端发送数据。
安全
缺点
- 通信使⽤明⽂(不加密),内容可能会被窃听
- 不验证通信⽅的身份,因此有可能遭遇伪装
- ⽆法证明报⽂的完整性,所以有可能已遭篡改
https
HTTP+ 加密 + 认证 + 完整性保护 =HTTPS
- 2.1. HTTP : 不验证通信⽅的身份,因此有可能遭遇伪装
HTTPS : 通过检验证书来验证通信双⽅的身份。。在三次握⼿的过程中,会通过SSL,先获得服务器公钥(⼀般,通过可信的第三⽅证书认证服务器),发送⽤服务器公钥加密客户端公钥,达到交换公钥的⽬的。通过相互校验请求,来达到验证通信⽅的⽬的。
- 2.2. HTTP : 通信使⽤明⽂,内容可能会被窃听
HTTPS : 客户端使⽤服务器公钥加密请求内容;服务器通过客户端公钥加密响应内容。
- 2.3. HTTP :⽆法证明报⽂的完整性,所以有可能已遭篡改HTTPS
通过相对安全的⽅式交换了公钥,并对请求进⾏了加密。即使第三⽅劫持了请求,也因为⽆法解密,⽽⽆法篡改。也不能截取,破坏加密
性能
- ⼀条连接上只可发送⼀个请求。
- 请求只能从客户端开始。客户端不可以接收除响应以外的指令。
- 请求 / 响应⾸部未经压缩就发送。⾸部信息越多延迟越⼤。
- 发送冗⻓的⾸部。每次互相发送相同的⾸部造成的浪费较多。
- 可任意选择数据压缩格式。⾮强制压缩发送
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果