HTTP压缩 - 我可以配置客户端来压缩发送到服务器的数据吗?

时间:2010-04-16 18:42:43

标签: .net http iis soap compression

我正在使用IIS 7作为我的应用程序的Web服务器。如果我在服务器中启用动态内容压缩,这是否也可以让客户端将压缩数据发送到服务器,如果可以的话?

我的意思是,我的应用程序使用SOAP Web服务,客户端通常会向服务器发送大块数据。客户端是用C#/ .NET编写的。我可以在Web引用/ serice引用中进行任何类型的配置,以告诉它们在将内容发送到IIS之前压缩内容吗?我是否必须在IIS中进行任何类型的配置才能使其正常工作?

提前致谢

1 个答案:

答案 0 :(得分:7)

HTTP压缩由客户端指定Accept-Encoding标头及其接受的压缩类型:

  

Accept-Encoding:compress,gzip

然后服务器会看到此内容,并会根据accept encoding rules defined here选择其中一种编码类型。响应将采用其中一个可接受的值或身份编码。


<强>请求:

通常,请求不能先进行压缩,因为通信以请求开始。 HTTP客户端可以发送选项请求,如果您可以控制客户端和服务器源代码,则可以使用该请求。

  

OPTIONS方法表示请求获取有关Request-URI标识的请求/响应链上可用的通信选项的信息。此方法允许客户端确定与资源相关的选项和/或要求,或服务器的功能,而不会暗示资源操作或启动资源检索。

这是一个用于SVN的apache模块,也是一个svn客户端。可以将它们配置为对请求数据执行HTTP压缩。

See RFC 2616: Section 9