使用HTTP2.0
HTTP/2
将使我们的应用程序更快、更简单、更健壮:
HTTP/2
的主要目标是通过启用完整的请求和响应多路复用来减少延迟,
通过HTTP
报头字段的有效压缩来最小化协议开销,
并增加对请求优先级和服务器推送的支持。
HTTP/2
也有一个非常大的旧的和不安全的密码黑名单。
http2
指令配置端口接受HTTP/2
连接
HTTP/2
向后兼容HTTP/1.1
,如果客户端不支持HTTP/2
,那么nginx
与客户端间通信将采用HTTP/1
协议
配置样例
```nginx configuration server { ... listen 8081 http2; ... }
`HTTP/2`在一个单一的`TCP`连接复用多个`http`请求,通常情况当服务端使用`HTTP/2`时,客户端将建立单个`TCP`连接与服务端通信。
> 开启`HTTP/2`的同时应开启`ssl`
因为绝大多数情况下,浏览器不支持没有加密的`HTTP/2`(尽管`h2`规范中允许使用`HTTP/2`在一个不安全的`http://`,
即没有加密证书的情况。但是浏览器没有实现(大多数浏览器并不打算))。
注意:通过`TLS`接受`HTTP/2`连接需要`应用层协议协商`(ALPN) `TLS`扩展支持。
```nginx configuration
server {
listen 10.240.20.2:443 ssl http2;
...