当前位置:  开发笔记 > 运维 > 正文

如何以编程方式检查Web服务器是否启用了http压缩?

如何解决《如何以编程方式检查Web服务器是否启用了http压缩?》经验,为你挑选了1个好方法。

我想检查Web服务器是否启用了http压缩,并启用了特定的压缩(即Gzip,Deflate,Compress)?

或者如果我通过将接受编码设置为"gzip,deflate"来通过.net中的WebClient对象请求数据,在处理之前如何知道检索到的数据是否被压缩?



1> Brian R. Bon..:

要检查响应主体的编码是什么,您应该检查HTTP响应头:Content-Encoding.

服务器仅允许使用请求标头accept-encoding指定的编码.如果服务器无法使用指定的接受编码之一给出响应,则它必须以406(不可接受)响应.

示例请求:

GET / HTTP/1.1
Host: www.brianbondy.com
Accept-Encoding: gzip,deflate

响应示例:

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 16:15:12 GMT
Server: Apache/2.0
Content-Encoding: gzip
Content-Length: 1533

Accept-Encoding的其他示例:

 Accept-Encoding: compress, gzip
 Accept-Encoding:
 Accept-Encoding: *
 Accept-Encoding: compress;q=0.5, gzip;q=1.0
 Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0

如何准确了解服务器上可用的编码:

无法确切知道服务器级别可用的编码,因为某些服务器可能仅支持某些文件类型的某些编码.

这意味着您可以做的最好的事情就是回答以下问题:对于请求第一行中指定的文件,该文件可用的特定编码是什么?您可以通过明确拒绝身份内容编码并指定您想要了解的编码来回答这个问题.

Accept-Encoding: gzip, identity;q=0

示例来源,HTTP RFC

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有