或者如果我通过将接受编码设置为“gzip,deflate”来通过.net中的WebClIEnt对象请求数据,在处理之前如何知道检索到的数据是否被压缩?
解决方法 要检查响应主体的编码是什么,您应该检查http响应头:content-encoding.服务器仅允许使用请求标头accept-enCoding指定的编码.如果服务器无法使用指定的accept-enCodings之一给出响应,则它必须以406(不可接受)响应.
示例请求:
GET / http/1.1Host: www.brianbondy.comAccept-EnCoding: gzip,deflate
响应示例:
http/1.1 200 OKDate: Thu,04 Dec 2003 16:15:12 GMTServer: Apache/2.0content-encoding: gzipContent-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
Source of examples,HTTP RFC
总结以上是内存溢出为你收集整理的.net – 如何以编程方式检查Web服务器是否启用了http压缩?全部内容,希望文章能够帮你解决.net – 如何以编程方式检查Web服务器是否启用了http压缩?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)