wdlinux 默认网站,自己怎么做电影网站,官网申请,重庆网站建站推广✍个人博客#xff1a;Pandaconda-CSDN博客 #x1f4e3;专栏地址#xff1a;http://t.csdnimg.cn/fYaBd #x1f4da;专栏简介#xff1a;在这个专栏中#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话#xff0c;欢迎点赞#x1f44d;收藏Pandaconda-CSDN博客 专栏地址http://t.csdnimg.cn/fYaBd 专栏简介在这个专栏中我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话欢迎点赞收藏您的支持就是我创作的最大动力 推荐参考地址https://www.xiaolincoding.com/这个大佬的专栏非常有用 52. HTTP/2 做了什么优化
HTTP/2 协议是基于 HTTPS 的所以 HTTP/2 的安全性也是有保障的。 那 HTTP/2 相比 HTTP/1.1 性能上的改进
头部压缩二进制格式并发传输服务器主动推送资源
53. HTTP/2 有什么缺陷
HTTP/2 通过 Stream 的并发能力解决了 HTTP/1 队头阻塞的问题看似很完美了但是 HTTP/2 还是存在 “队头阻塞” 的问题只不过问题不是在 HTTP 这一层面而是在 TCP 这一层。
HTTP/2 是基于 TCP 协议来传输数据的TCP 是字节流协议TCP 层必须保证收到的字节数据是完整且连续的这样内核才会将缓冲区里的数据返回给 HTTP 应用那么当「前 1 个字节数据」没有到达时后收到的字节数据只能存放在内核缓冲区里只有等到这 1 个字节数据到达时HTTP/2 应用层才能从内核中拿到数据这就是 HTTP/2 队头阻塞问题。 54. HTTP/3 做了哪些优化
前面我们知道了 HTTP/1.1 和 HTTP/2 都有队头阻塞的问题
HTTP/1.1 中的管道pipeline虽然解决了请求的队头阻塞但是没有解决响应的队头阻塞因为服务端需要按顺序响应收到的请求如果服务端处理某个请求消耗的时间比较长那么只能等响应完这个请求后才能处理下一个请求这属于 HTTP 层队头阻塞。HTTP/2 虽然通过多个请求复用一个 TCP 连接解决了 HTTP 的队头阻塞 但是一旦发生丢包就会阻塞住所有的 HTTP 请求这属于 TCP 层队头阻塞。 HTTP/2 队头阻塞的问题是因为 TCP所以 HTTP/3 把 HTTP 下层的 TCP 协议改成了 UDP UDP 发送是不管顺序也不管丢包的所以不会出现像 HTTP/2 队头阻塞的问题。大家都知道 UDP 是不可靠传输的但基于 UDP 的 QUIC 协议 可以实现类似 TCP 的可靠性传输。
QUIC 有以下 3 个特点。
无队头阻塞更快的连接建立连接迁移