HTTP 相关

HTTP/0.9

需求就是用来传输体积很小的 HTML 文件

特点:

  • 只有一个请求行,没有请求头和请求体
  • 服务器也没有响应头信息
  • 返回的文件内容是以 ASCII 字符流来传输

HTTP/1.0

特点:

  • 任何格式的内容都可以发送,这使得互联网不仅可以传输文字,还能传输图像、视频、二进制等文件。
  • 提供 Cache 机制,使用 header 中的 If-Modified-Since 和 Expires 作为缓存失效的标准。
  • 引入状态码
  • 除了GET命令,还引入了POST命令和HEAD命令。
  • http请求和回应的格式改变,除了数据部分,每次通信都必须包括头信息(HTTP header),用来描述一些元数据(引入用户代理的字段)。

问题:

  • TCP 连接无法复用,每次请求都需要重新建立 TCP 连接
  • 队头阻塞 (如果 TCP 通道中的某个请求因为某些原因没有及时返回,那么久会阻塞后面的所有请求,称之为队头阻塞问题)

HTTP/1.1

特点:

  • 增加了持久连接,同个域名下默认允许同时建立 6 个TCP 持久连接
  • 增加了与缓存相关的请求头
  • 支持使用 range 头等来支持断点续传
  • 新增 Host 请求头,用来表示当前的域名地址,提供虚拟主机的支持
  • 引入客户端 Cookie 机制和安全机制

问题:

  • 没有解决队头阻塞的问题
  • TCP 慢启动
  • TCP 连接之间相互竞争带宽
  • 明文传输,安全性有隐患
  • header 中携带内容过多,增加了传输成本

HTTP/2.0

特点:

  • 一个域名只使用一个 TCP 长连接来传输数据,这样整个页面资源的下载过程只需要一次慢启动,同时避免了多个 TCP 连接竞争带宽带来的问题。
  • 多路复用机制,将请求分成一帧一帧的数据去传输,于是数据需要经过二进制分帧层处理,转换为一个个带有请求ID编号的帧
  • 可以设置请求的优先级
  • 服务器推送
  • 头部压缩
  • 流控制

参考文献

「查缺补漏」巩固你的HTTP知识体系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值