一文理清Http2.0

前言

HTTP2.0主要有三大特性:二进制协议、头部压缩、服务端推送(Server Push)、多路复用。本文从分析http1.x存在的问题入手,逐一介绍http2.0的优势。

Http1.x存在的问题

在HTTP1.0下,HTTP1.1非Keep-Alive模式下,每个请求都要新建一个TCP连接,完成之后立即断开连接,如果有新的请求,则要重新创建请求TCP连接。多次请求建立多次TCP会耗费大量时间,同时没有必要。

为了解决这个问题, HTTP 1.1 中提供了Keep-Alive,允许一定时间(此时间在Nginx或Apache服务器配置上设定)内,同一域名多次请求数据,只建立一次HTTP请求,其他请求可复用TCP连接,以提高请求效率。

但是使用Keep-Alive后仍然存在问题:
单个 TCP 连接在一个时刻只能处理一个请求(必须等上一个请求返回才能发起下一个请求,所以后面的请求会被前面请求的阻塞)。所以实际上我们只是节省了建立连接的时间,而获取数据的时间并没有减少

http1.1的单个 TCP 连接只能同步发请求的原因:http1.1是基于文本的协议,请求中的不同部分(请求头、请求体)通过换行符进行分割。因此如果同一个TCP同时发多个请求会导致多个请求的数据混杂在一起,服务端无法正确解析请求。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值