问题标签 [content-encoding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webserver - 服务器端 GZipping 是如何工作的?
您可能知道与 HTML 相关的文件格式是使用 GZip 压缩在服务器端压缩的(通过Apache 服务器上的mod_gzip),并由兼容的浏览器解压缩。(“内容编码”)
这仅适用于 HTML/XML 文件吗?假设我的 PHP/Perl 文件生成一些简单的逗号分隔数据,并将其发送到浏览器,默认情况下会对其进行编码吗?
Silverlight 或 Flash 等平台在下载此类数据时会自动被浏览器/运行时压缩/解压缩吗?有什么方法可以测试这个吗?
perl - 如何使用 LWP::UserAgent 接受 gzip 压缩的内容?
我正在使用 Perl 在 Web 上获取一些页面,LWP::UserAgent
并希望尽可能有礼貌。默认情况下,LWP::UserAgent
不会通过 gzip 无缝处理压缩内容。有没有一种简单的方法可以做到这一点,为每个人节省一些带宽?
performance - 浏览器可能无法识别 gzip 压缩内容的原因
出于性能原因,我正在尝试将静态资源(css 和 javascript)作为缓存的 gzip 文件提供。
页面在渲染时看起来是 gzip 的,根据 LiveHTTPHeaders 正确地将 Content-Encoding 设置为 gzip,最重要的是,gzip 后的内容正在通过 GIDZipTest 页面(http://www.gidnetwork.com/tools/gzip-test.php) 正好。以下是测试输出的示例:
网页压缩?是的
压缩类型?压缩包
大小,标记(字节)18,286
压缩大小(字节) 4,427
压缩 % 75.8
响应标头
状态 HTTP/1.0 200 OK
pragma no-cache cache-control private, max-age=86500
2009 年 8 月 24 日星期一 04:34:14 GMT 到期
x-amz-acl 公开阅读
内容类型文本/css
内容-md5 hqJaTBS3OzDFet/QHsd+ Qg==
内容编码 gzip
日期 2009 年 8 月 19 日星期三 04:34:14 GMT
服务器——我的服务器——
内容长度 4427
内容编码标头以粗体显示,所有其他标头均符合预期。
测试页面还显示了未压缩的页面源,而且总是和我期望的一样,它是未压缩的,我什至尝试过复制粘贴它以由浏览器呈现,它可以工作,所以问题一定是在识别页面已压缩并解压缩的实际步骤中。
这不是特定于浏览器的。在 FF、Webkit 和 IE 中,这些 gzip 压缩文件未正确解压缩。我已经尝试了我能想到的一切,但我真的很难过。
android - Android:HTTP 通信应使用“Accept-Encoding: gzip”
我与请求 JSON 数据的网络服务器进行了 HTTP 通信。我想用Content-Encoding: gzip
. 有没有办法可以Accept-Encoding: gzip
在我的 HttpClient 中设置?如您在此处看到的,Android 参考中的搜索gzip
没有显示任何与 HTTP 相关的内容。
java - 如何区分 HTTPURLConnection 中的请求和响应?
您好我需要评估服务器是否支持 gzip 压缩。
因此,我想在我的请求中将 gzip 设置为 Accept-Encoding 并评估服务器的响应是否包含“Content-Encoding: gzip”。
但是我不太清楚如何使用 HTTPURLConnection 做到这一点。尤其是当查询我的 Connection 对象的响应时。我目前这样做:
vb.net - Internet Explorer 7 是否通过正确缓存来尊重 Vary 标头?
我正在使用类似于Rick Strahls 示例的技术,但使用谷歌的速度追踪器注意到
资源缓存:@10.88s - 以下资源指定了一个“Vary”标头,该标头在大多数 Internet Explorer 版本中禁用缓存。修复或删除以下资源的“Vary”标头:...
问题是 Internet Explorer 的哪些版本?如果我包含一种只为除早期版本的 Internet Explorer 之外的所有浏览器输出 Vary 的方法,这会得到解决吗?
在函数“AllowsCacheingOnVaryHeader()”中——我到底应该检查什么?7、8 或 9 之前的所有 IE 版本?
utf-8 - VS2005 UTF-8 通用 HTTP 处理程序:查询字符串中某些字符的问题(例如 þ æ)
我正在 VS2005 中开发一个通用的 HTTP 处理程序并在调试模式下对其进行测试。它运行良好,除非查询字符串包含高位字符,例如拉丁小写字母 Thorn /u00FE þ和拉丁小写字母 Ae /u00E6 æ。
我机器上的 IE8 设置为发送 UTF-8 URL。调试代码时,我在 IE8 地址栏中输入以下内容:
数据库是 SQLite,它使用 UTF-8 编码并且工作正常。当使用其他 GUI 工具或使用 Visual Studio 的 System.Data.SQLite GUI 加载项直接针对 SQLite 发出查询时,使用这些特殊字符的查询可以正常工作。
我是否正确解码查询字符串中的值?GetString() 不解码字节吗?
在 HTTP 处理程序中,ContentEncoding 设置为 UTF-8:
并且在调试器的本地窗口中,Request.ContentEncoding 也是 UTF-8。
但是,当我在本地窗口中检查查询字符串值时,查询字符串“þorn”中的术语值显示为“[]orn”,这就是它在我发送到的 sql 语句中的显示方式数据库。就好像这个角色没有被认出来一样。
我在从查询字符串中获取值并转换为字符串的方式上做错了吗?
iis - 在 IIS7 中,gzip 压缩的文件不会保持这种状态
我已将 IIS7 配置为 gzip 静态内容。
http://www.coderjournal.com/2008/04/iis-7-compress-javascript-gzip/
但是,这些文件不会“保持”gzip 压缩。
这是我的用例:
- 请求 test.css 文件。它不是 gzip 压缩的。
- 在几秒钟内再次请求它。它是gzip 压缩的。
- 等5分钟。
- 再次请求 test.css 文件。它不是 gzip 压缩的。
这没有意义——如果原始文件没有更改,是否应该在所有后续请求中交付静态文件的 gzip 版本?
注意:我使用 Firefox 和 Firebug 通过检查 Content-Encoding 标头来验证 gzip 压缩的内容。
perl - 为什么 Perl 的 LWP 给我的编码与原始网站不同?
可以说我有这个代码:
错误日志显示类似 "\xd7\x9c\xd7\x94\xd7\x93\xd7\xa4\xd7\xa1\xd7\x94" 我猜它是 utf-16 的内容?
该网站的编码是
那么为什么出现这些字符而不是 windows-1255 字符呢?
而且,另一个奇怪的事情是我有两台服务器:
第一个服务器返回 CP1255 字符,我可以简单地将其转换为 utf8,当前服务器给了我这些字符,我不能用它做任何事情......
apache/perl/module 中是否有任何配置文件弄乱了编码?强迫什么……?
我的网站在第二台服务器上的结果是 perl 文件和标题都是 utf8,所以当我编写不是英文字符的文本时,上面示例中的内容显示正常(即使它是奇怪的 utf 字符)但我自己的静态文本看起来像“×ס'××ר××:”
我测试的另一件事是......
通过 perl:
我得到 utf8 编码。
通过 Bash:
在这里我得到CP1255(Windows-1255)编码......
此外,当我在 bash 中运行脚本时 - 它提供 CP1255,当通过网络运行时 - 然后它又是 utf8 ......
通过将内容从 utf8 更改为应有的内容,然后返回 utf8 来解决问题:
java - 在 linux 机器上遇到编码问题,而不是 Windows
我遇到了一个编码问题,困扰了我几个星期,但似乎没有任何效果。我有一个网站可以在我的本地机器上正常运行,但是当我将 jsp 文件推送到 Linux 框进行审查时,以前渲染良好的字符现在显示为时髦的字符。
出于某种原因,某些字符显示得很好,但其他字符无法正确编码。页面上的所有文本都从 java .properties 文件中读取,并使用 bean 输出到页面。
我在页面中添加了一个元标记来设置编码,但什么也没做。我还添加了 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 但这在 linux 机器上没有任何作用,实际上使编码错误出现在我的本地 Windows 机器上。
任何帮助将不胜感激。