为什么 gzipped html 文件显示没有 JS 和 CSS?

发布于 2024-07-20 10:21:49 字数 194 浏览 4 评论 0原文

我有一个以 gzip 格式保存的 html 文件。 浏览器显示 html 文件,但不显示 javascript 和 CSS。 同一目录中的非压缩 html 文件确实可以正确显示。 此外,我保存了压缩的 html 文件的源代码,并应用了 JS 和 CSS,正确地重新打开了它。

显示不允许其获取 JS 和 CSS 的压缩 html 有什么不同?

I have an html file saved in gzip format. The browser displays the html file but without the javascript and CSS. Non-zipped html files in the same directory do display correctly. In addition, I saved the source from the compressed html file and it reopened correctly, with JS and CSS applied.

What is different about displaying the zipped html that would not allow it to pick up the JS and CSS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

巷子口的你 2024-07-27 10:21:49

基本问题是您不能只在浏览器需要 CSS 的地方提供 gzip 文件。 就其本身而言,这并不比退回 JPEG 或火腿三明治更有效。

当内容被动态压缩时,响应有些不同——响应说“我是文本/CSS,但是,碰巧使用 gzip 进行编码以进行传输”。 浏览器可以解决这个问题。

如果您也在本地提供 gzip 压缩文件,一些 Web 服务器(例如 Apache)也会为您做类似的事情。 但我想你的服务器不是。

为什么它适用于 HTML? 嗯,我不知道,也许你的浏览器实际上能够在这种特殊情况下解决这个问题?

您最终想要做的是使用 Content-Type: text/css 和 Content-Encoding: gzip 提供响应,以使其正确识别。

The basic problem is you can't just serve a gzip file where the browser expects CSS. By itself, that does not work any more than if you return a JPEG or a ham sandwich.

When content gets zipped on the fly, the response is somewhat different -- the response says "I am text/css, but, happen to be encoded with gzip for transfer". The browser can figure that one out.

Some web servers like Apache will do that sort of thing for you if you supply gzipped files locally, too. But I imagine your server isn't.

Why does it work for HTML? Hmm, I don't know, maybe your browser actually manages to figure it out in that particular case?

What you ultimately want to do is serve the response with Content-Type: text/css and Content-Encoding: gzip to have it recognized correctly.

时光礼记 2024-07-27 10:21:49

如果您正在自己的服务器上的 Localhost 上工作(例如 XAMPP)

那么你需要配置.htaccess文件来发送正确的

表明文件可能被 gzip 压缩的标头。

尝试将其添加到您的主 .htaccess 文件中:

AddEncoding x-gzip .gz
AddType text/html .gz

并确保您的 gzip 压缩

文件以 .gz 扩展名结尾。

另外,始终在服务器中运行它..:)

it you're working on Localhost on your own server (like XAMPP)

then you need to configure the .htaccess file to send the right

headers that said that files might be gziped.

try adding this to you main .htaccess file :

AddEncoding x-gzip .gz
AddType text/html .gz

and make sure your gziped compressed

files are endind with the .gz extention.

also, always run this in a server.. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文