标签: content-encoding

HTTP代理缓存如何在服务身份与gzip编码资源之间做出决定?

HTTP服务器使用内容协商来根据客户端的Accept-Encoding标头提供单个URL标识或gzip编码.

现在说我们在客户端和httpd之间有一个像squid这样的代理缓存.

如果代理缓存了URL的两种编码,它如何确定要提供的服务?

非gzip实例(最初未提供服务Vary)可以提供给任何客户端,但编码实例(具有Vary: Accept-Encoding)只能发送到具有与Accept-Encoding原始请求中使用的相同标头值的客户端.

例如Opera发送,"deflate, gzip, x-gzip, identity, *;q=0"但IE8发送"gzip, deflate".根据规范,缓存不应该在两个浏览器之间共享内容编码的缓存.这是真的?

proxy caching reverse-proxy http content-encoding

7
推荐指数
1
解决办法
1681
查看次数

在IIS7中,gzip压缩文件不会保持这种状态

我已经将IIS7配置为gzip静态内容.

http://www.coderjournal.com/2008/04/iis-7-compress-javascript-gzip/

但是,文件不会"保持"gzip状态.

这是我的用例:

  1. 请求test.css文件.它不是gzip压缩.
  2. 几秒钟后再次申请.它 gzipped.
  3. 等5分钟.
  4. 再次请求test.css文件.它不是gzip压缩.

这没有意义 - 如果原始版本没有更改,是否应该在所有后续请求中传送gzip压缩版本的静态文件?

注意:我使用Firefox和Firebug通过检查Content-Encoding标头来验证gzip压缩内容.

iis iis-7 gzip content-encoding

7
推荐指数
1
解决办法
4408
查看次数

HTTP内容编码,base64

有没有办法知道HTTP响应的消息体是否用Base64编码?

我了解到内容传输编码不是HTTP头的一部分.

那么,哪个HTTP标头表示内容是用Base64编码的?我认为内容编码仅用于压缩.

base64 http content-encoding

6
推荐指数
1
解决办法
1万
查看次数

使用WWW :: Mechanize透明地处理GZip编码内容

我正在使用WWW :: Mechanize并且当前正在Content-Encoding: gzip我的代码中处理带有' '标头的HTTP响应,首先检查响应头,然后使用IO :: Uncompress :: Gunzip来获取未压缩的内容.

但是我想透明地这样做,以便像form(),links()等WWW :: Mechanize方法处理和解析未压缩的内容.由于WWW :: Mechanize是LWP :: UserAgent的子类,我更愿意使用LWP :: UA ::处理程序来执行此操作.

虽然我已经取得了部分成功(例如我可以打印未压缩的内容),但我无法以我可以调用的方式透明地执行此操作

$mech->forms();
Run Code Online (Sandbox Code Playgroud)

总结:如何"替换"$ mech对象中的内容,以便从那时起,所有WWW :: Mechanize方法的工作方式就好像Content-Encoding从未发生过一样?

我将非常感谢您的关注和帮助.谢谢

perl content-encoding www-mechanize lwp

5
推荐指数
1
解决办法
2438
查看次数

在django中发送内容编码头

您好我想要提供我内容的纯文本版本.所以我有一个单独的模板.我打电话render_to_responsemimetype="text/plain",但我想告诉浏览器中打开该页面的HTTP响应内容是UTF-8编码.我该怎么做(例如我需要添加什么render_to_response)?

django content-encoding httpresponse render-to-response

5
推荐指数
1
解决办法
7845
查看次数

我们如何验证gzip/deflate压缩是否在IE浏览器中有效?

在我们的Apache Web服务器中,我们启用了deflate压缩.这提高了我们网站的速度.我们可以通过查看值"Content-Encoding:gzip"在IE以外的浏览器中验证此deflate压缩.我们使用像firebug这样的工具来识别这个内容编码值.

我们很高兴看到内容大小如何减少.

问题是:我们希望使用IE Web开发人员工具(F12)在IE中验证相同的内容.但我们无法验证,因为内容编码密钥根本没有出现在那里.

我们如何验证gzip/deflate压缩是否在IE浏览器中有效?

更新:

我从以下链接中了解到IE开发人员工具即使处理gzip压缩内容也不会显示.

http://blogs.msdn.com/b/kaushal/archive/2012/07/23/i-don-t-see-content-encoding-header-in-ie-http-debugger-f12-developer-tools. ASPX

internet-explorer content-encoding

5
推荐指数
1
解决办法
5464
查看次数

当 fastcgi 后端偶尔使用内容编码进行 gzip 服务时,如何禁用 Nginx 双 gzip 编码?

如果后端已经设置了“content-encoding”标头,是否有任何聪明的方法可以欺骗 nginx 停止 gzip?

Nginx 配置为对 php fastcgi 后端的输出进行 gzip 压缩。

这在 99% 的情况下都很有效。

除了极少数情况外,php 会发送一个原始 gzip 压缩文件并附加一个Content-Encoding: gzip标头。

不幸的是,Nginx 会继续尝试第二次对该内容进行 gzip 压缩。

生成双content-encoding: gzip content-encoding: gzip标头和双编码 gzip 正文。

大多数现代浏览器都可以处理这个问题,比如 Firefox、Chrome。

IE8 不能,Safari 移动版不能,旧版 Safari 5 for Windows 不能 - 相反,它们会显示乱码的 gzip 压缩内容,因为它合并了内容编码标头,并且仅对 gzip 压缩正文进行一次解码。

感谢您的任何想法。

php gzip fastcgi content-encoding nginx

5
推荐指数
1
解决办法
2587
查看次数

HTTP内容长度和内容编码

HTTP响应头是否Content-Length与解码主体之前或之后的长度有关Content-Encoding: gzip

entity http content-encoding http-content-length http-headers

5
推荐指数
1
解决办法
3660
查看次数

接受编码:gzip和内容编码:gzip

这两个HTTP标头有什么区别?

  • 接受编码:gzip
  • 内容编码:gzip

gzip content-encoding http-headers http-accept-encoding

4
推荐指数
1
解决办法
7999
查看次数

Perl CGI脚本默认使用什么内容编码?

我正在修改用Perl编写的成熟的CGI应用程序,并且出现了内容编码的问题.浏览器报告内容是iso-8859-1编码,并且应用程序声明iso-8859-1作为HTTP标头中的字符集,但似乎从未实际进行过编码.perldoc教程(编码,编码,打开)中描述的各种编码技术都没有在代码中使用,所以我对文档实际编码方式有点困惑.

如上所述,该应用程序非常成熟,可能早于许多当前的编码方法.有谁知道我应该寻找的任何遗留或弃用的技术?当开发人员没有提供方向时,Perl假设/默认为什么编码?

谢谢

perl content-encoding iso-8859-1

3
推荐指数
1
解决办法
2121
查看次数