javascript - 为什么 gzip 后的 html 文件显示时没有 JS 和 CSS?

标签 javascript html css compression gzip

我有一个以 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/

相关文章:

html - 段落不断向下推 1 个格

css - 在 <div> 上设置默认滚动点

javascript - 望实现矩形径向删除动画显示

javascript - 隐藏滚动条但可以用鼠标滚动

javascript - “对象作为 React 子对象无效”

javascript - 使用 Smarty 将值从 PHP 传递到 JS?

javascript - 我可以在 CSS 中的 div 上剪切蒙版文本吗(有或没有 JS 的帮助)?

javascript - 如何获取跨域iframe内容的html,或者如何通过其他方式获取另一个域的html?

javascript - JS 文本和摩尔斯电码转换器

CSS:firefox + 表格 + 高度 100% + 溢出隐藏 = 疯狂