我有一个以 gzip 格式保存的 html 文件。浏览器显示 html 文件但没有 javascript 和 CSS。同一目录中的非压缩 html 文件可以正确显示。此外,我从压缩的 html 文件中保存了源代码,并在应用了 JS 和 CSS 的情况下正确重新打开。
显示不允许其获取 JS 和 CSS 的压缩 html 有什么不同?
最佳答案
基本问题是您不能只在浏览器需要 CSS 的地方提供 gzip 文件。就其本身而言,这与返回 JPEG 或火腿三明治一样不起作用。
当内容被即时压缩时,响应会有些不同——响应说“我是文本/css,但是,碰巧用 gzip 编码以便传输”。浏览器可以解决这个问题。
如果您也在本地提供 gzip 文件,一些 Web 服务器(如 Apache)会为您做这类事情。但我想您的服务器不是。
为什么它适用于 HTML?嗯,我不知道,也许您的浏览器在特定情况下真的设法解决了这个问题?
您最终想要做的是使用 Content-Type: text/css 和 Content-Encoding: gzip 来提供响应以使其被正确识别。
关于javascript - 为什么 gzip 后的 html 文件显示时没有 JS 和 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/866383/