浏览器并不会直接请求 index.html.gz
。
GET /index.html HTTP/1.1
Host: your-site.pages.dev
Accept-Encoding: gzip, deflate, br
浏览器始终请求的是 index.html
,但会在请求头中告诉服务器:“我支持 gzip 压缩”
Cloudflare Pages 看到:
- 客户端支持 gzip (Accept-Encoding: gzip
)
- 存在 index.html.gz
文件
于是返回:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 366
[index.html.gz 的二进制内容]
浏览器看到 Content-Encoding: gzip
,就知道这是压缩内容,会:
- 自动解压 gzip 数据
- 显示解压后的 HTML 内容
index.html
.gz
或原文件这个过程对用户是完全透明的,用户感受到的只是更快的加载速度!