在旨在使用 HTTP/2 的站点的 Nginx 服务器块中,我看到了这个:
gzip_http_version 1.1;
Run Code Online (Sandbox Code Playgroud)
这会与 HTTP/2 中发送的某些数据包产生冲突吗?
我不理解这个 Gzip 指令,因此我不能说 HTTP/2 数据包是否会受到它的影响。
hee*_*ayl 11
gzip_http_version是压缩来自服务器的响应所需的请求(来自客户端)的 HTTP 协议的最低版本。它默认为.1.1
因此,任何使用协议版本 1.0 发送请求的用户代理都不会从服务器获得压缩的响应;响应将按原样进行。请注意,将值设置为 1.1 可能会伤害非常非常小的人群(可能是使用 Win XP 的人,BTW 现在不支持),如果有的话。
回答你的问题:
这会与 HTTP/2 中发送的某些数据包产生冲突吗?
不,因为nginx会根据$server_protocol变量的值(HTTP/1.0, HTTP/1.1, 之一HTTP/2.0)以不同方式处理请求。
附带说明一下,由于Transfer-Encoding不支持标题,因此HTTP/1.0您不应将其设置gzip_http_version为1.0. 否则,您将不会获得 keepalive,因为Content-Length在gzip_http_version使用时未设置标头;HTTP/1.1 使用Transfer-Encoding: chunked标头解决了这个问题。
| 归档时间: |
|
| 查看次数: |
7807 次 |
| 最近记录: |