我可以使用apache的mod_gzip模块压缩web服务请求和响应吗?
$client = new SoapClient("http://example.com/api/wsdl",array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP, "trace" => 1));
通过添加压缩类型,得到压缩格式的响应。
服务器可以压缩响应,如果客户端在其请求中声明它可以处理压缩响应(例如客户端在其请求中发送Accept-Encoding: gzip, deflate
)。
服务器无法压缩请求,这是没有意义的。客户端必须在将请求发送到服务器之前压缩请求;但是客户端无法知道服务器是否可以处理压缩请求,所以典型的浏览器客户端不会这样做。如果你有一个服务于特定客户端的API,客户端可以压缩请求,服务器可以简单地通过协议来解压缩它。
mod_deflate可以配置为压缩和解压缩两种方式。