开始使用HTTP/2

正式版 HTTP/2 的规范标准叫做 RFC 7540,发布于2015年5月15日。HTTP/2 接过 Google SPDY 的衣钵,由 IETF 起草定制。就连 Google 也宣布他们会在 2016年全面支持 HTTP/2。

HTTP/2 是什么?

这里不多说,推荐阅读 Daniel Sternberg 写的一本免费电子书 《http2 explained》。这是介绍 HTTP/2 最通俗的文字。

简单来说,HTTP/2 是希望实现:

  • 降低延迟感
  • 解决 Pipelining 和 Head of line blocking 的问题
  • 降低连接数
  • 保留现在所有的接口,URI格式和结构

部署 HTTP/2

其实非常简单,Nginx 1.9.5 后的版本中有一个叫 ngx_http_v2_module 的模块,按照这个教程来做就好:http://nginx.org/en/docs/http/ngx_http_v2_module.html

示例:

server {
    listen 443 ssl http2;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
}

目前大部分浏览器只实现了需要 TLS 的 HTTP/2。因此你首先需要启用 HTTPS。

HTTP/2 的世界

配置完成后,你可以安装一个 Chrome 插件:HTTP/2 and SPDY indicator,测试是否已经正常启用。

当你访问一个支持了 HTTP/2 的网站时,浏览器会通过 ALPN 协商协议询问服务器支持哪些协议,并最终由服务器选择一个合适的协议。也就是说,部署 HTTP/2 并不会让不支持的浏览器无法访问,而支持的浏览器会由服务器优先选择 HTTP/2。

results matching ""

    No results matching ""