跳到主要内容

HTTP 协议

· 阅读需 2 分钟

HTTP/1.1 的问题

  • 队头阻塞: 在 HTTP/1.1 中,一个连接上的请求是按照顺序执行的。 如果第一个请求处理比较慢,会阻塞后续的请求。(影响性能)
  • 头部冗余: 每个请求和响应都包含了完整的 HTTP 头部。(增加网络开销)
  • 多连接限制: 浏览器对同一域名同时建立 TCP 连接数有限制(6 个)

HTTP/2.0 的改进

HTTP/2.0 需要 https

  • 头部压缩:使用 HPACK 对 HTTP 头部进行压缩
  • 流优先级: 允许客户端指定请求的优先级
  • 多路复用:允许在单个连接上并行处理多个请求和响应,允许对同一域名同时建立 TCP 连接数的限制数量也有所增加(100+)

Nginx 开启 HTTP/2.0

只需要将 listen 443 ssl; 修改为 listen 443 ssl http2;