史上最全面的http协议考点

本文详细介绍了HTTP协议的发展历程,包括HTTP 1.1和HTTP 2.0的优缺点,以及在HTTP连接复用方面的解决方案如长链接、长轮询和WebSocket。接着探讨了HTTPS协议的构建、工作流程和与HTTP的区别,强调了其在数据安全性和完整性上的提升。最后,讨论了TCP协议的三次握手、四次挥手,以及TCP如何保证可靠传输,对比了TCP与UDP的区别及适用场景。
摘要由CSDN通过智能技术生成

一. http协议

1. http协议的发展历程以及每个版本存在的问题
1.1 http1.1优缺点
1.1.1 优点
  • 针对tcp连接十分耗时,使用Connection: keep-alive增加了持久连接
  • 增加管道机制,在1.0请求必须排队发出的基础上增加了管道机制,请求可以同时发出,但是响应必须按照请求发出的顺序依次返回,性能在一定程度上得到了改善。
  • 在1.0版本,服务器端必须等到一操作全部完成后,才会向客户端发送数据的基础上增加了分块传输,没必要等待数据完全处理完毕再返回,服务器产生部分数据,那么就发送部分数据。
1.1.2 缺点
  • 高延迟 --带来页面加载速度的降低,这个缺陷主要由于队头堵塞导致的,请求必须排队处理
  • 无状态特性 – 带来巨大的 HTTP 头部
  • 明文传输 – 带来不安全性
  • 不支持服务器推送消息
1.2 http2 优缺点
1.2.1 http2优点
  • 二进制传输,更利于计算机的解析
  • 头部压缩,使用专门的 "HPACK”算法,在客户端和服务器两端建立“字典”,用索引号表示重复的字符串,还采用哈夫曼编码来压缩整数和字符串,可以达到 50%~90% 的高压缩率。
  • 多路复用,客户端和服务端实现真正的全双工通信
  • 服务端推送,服务端不在被动等待客户端请求,而是能够主动向客户端发送请求
1.2.2 http2缺点
  • TCP 和 TCP+TLS 建立连接的延时
  • TCP 的队头阻塞并没有彻底解决
2. http2出现之前针对http连接无法复用缺陷的解决方案(移动端)
2.1 基于tcp的长链接

移动端app都会建立一条自己的长链接通道,通道的实现是基于tcp协议,基于tcp的socket编程技术难度相对复杂很多,而且需要自己制定协议,但带来的回报也很大,目前淘宝应该有自己的协议。

2.2 长轮询

客户端在初始状态就会发送一个polling请求到服务器,服务器并不会马上返回业务数据,而是等待有新的业务数据产生的时候再返回。所以连接会一直被保持,一旦结束马上又会发起一个新的polling请求,如此反复,所以一直会有一个连接被保持。服务器有新的内容产生的时候,并不需要等待客户端建立一个新的连接。它的缺点也很多,长连接增加server端压力,断网࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值