我正在使用HTTP PUT请求在我的服务器上接收xml文件。 如果我的Apacheconfiguration了mod_deflate,它在传输过程中是否被压缩? 我怎样才能确认它是压缩? 如果不是,我该如何强制压缩?
谢谢!
根据我以前的回答 :
浏览器按照这里设置Accept-Encoding头来请求压缩内容
GET /index.html HTTP/1.1 Host: www.http-compression.com Accept-Encoding: gzip User-Agent: Firefox/1.0
这会将压缩数据返回给浏览器。 但是,要将数据压缩到服务器,必须压缩包含头的整个请求。 它logging在mod_deflate中 :
mod_deflate模块还提供了一个用于解压缩gzip压缩请求主体的filter。 为了激活此function,您必须使用SetInputFilter或AddInputFilter将DEFLATEfilter插入到inputfilter链中。
…
现在如果一个请求包含一个Content-Encoding:gzip头部,主体将被自动解压缩。 很less有浏览器有能力gzip请求身体。 但是,一些特殊的应用程序实际上支持请求压缩,例如一些WebDAV客户端。
一篇描述它的文章在这里 :
你是怎么做到的? 这里是从mod_deflate源代码再次blurb:只对主要请求/无子请求。 这意味着如果我们select使用这个请求的话,请求的整个部分必须是gzip压缩的,不可能只压缩包含文件的部分,例如在多部分请求中。
mod_deflate在apache 发送数据时使用,而不是在接收时使用。
问题是浏览器在知道它所支持的内容之前向Web服务器发送数据,因此它不能压缩数据,也不知道服务器是否能够处理它。
如果真的需要较低的带宽使用率,则应在发送xml文件之前进行压缩,并在应用程序中将其解压缩。