0

我正在运行一个NextJS应用程序,我观察到JavaScript资源没有gzipped在移动设备上获得(在桌面上它工作正常)。在进一步调试中,我发现这是因为移动设备中的请求标头没有发送Accept-Encoding标头。这些 JS 文件基本上是使用<script>标签下载的块(JS 代码包)。现在我知道无法将请求标头添加到<script>标签中,但我可以看到Accept-Encoding以桌面分辨率运行应用程序时标头存在。

所以我想了解这些请求标头(特别是Accept-Encoding)在哪里添加到传出的 JavaScript 文件请求中?是在发出请求时浏览器自动添加的,还是通过NextJS, 或者WebPack(第一次向客户端发送 html 页面时嵌入)添加的?我该如何解决这个问题?请注意,即使在运行localhost:3000.

4

1 回答 1

0

该标头由 设置,client用于告诉服务器它可以理解哪种内容编码(压缩算法),因此基本上客户端如果声明可以接受它们,就会获取 gzip 压缩文件,并且服务器能够为它们提供服务(nextjson默认具有 gzip 压缩)。

Mdn Docs 接受编码

Next.js 文档 gzip

于 2020-12-30T18:24:22.130 回答