历史版本

HTTP/1.0 和 1.1

  • http1.1 默认持久连接,多个 http 请求复用一个 TCP 连接,减少握手时间
  • http1.1 引入Range: bytes= 0-5000 请求头,支持断点续传
  • http1.1 新增 ETag、If-Unmodified-Since、If-Match、If-None-Match 等更多可供选择的缓存头来控制缓存策略
  • http1.1 新增Host: www.vuejs.org 请求头以确定虚拟主机上的域名
  • http1.1 新增请求方法,如 PUT、HEAD、OPTIONS 等

HTTP/1.1 和 2.0

HTTP/2 数据传输改用二进制协议,头信息和数据体都是二进制,统称为"帧",可以分为头信息帧和数据帧。这也是被称为 HTTP/2 而不是 HTTP/1.2 的原因。

  • http2 引入二进制分帧层,数据改用二进制流传输,数据包可不按顺序传输
  • http2 实现多路复用,避免队头阻塞问题,但也引起 TCP 队头阻塞
  • http2 采用头信息压缩,解决 Header 信息增多的问题
  • http2 新增服务器推送,预发送 css 等资源

HTTP 和 HTTPS

  • HTTPS 协议需要 CA 证书,费用较高;而 HTTP 协议不需要;
  • HTTP 协议是超文本传输协议,信息是明文传输的,HTTPS 则是具有安全性的 SSL 加密传输协议;
  • 使用不同的连接方式,端口也不同,HTTP 协议端口是 80,HTTPS 协议端口是 443;
  • HTTP 协议连接很简单,是无状态的;HTTPS 协议是有 SSL 和 HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 更加安全。