我应该如何表明我的 HTTP 服务器支持压缩请求?
How should I indicate that my HTTP server supports compressed requests?
我被要求通过压缩发送到服务器的数据来降低我们应用程序的带宽要求。我试图在不更改 API 的情况下透明地执行此操作,即继续使用相同的 URL 和内容类型。我在 How do I enable GZIP compression for POST (upload) requests to a SOAP WebService on IIS 7?
找到了如何编码
我认为新客户端被配置为与旧版本的服务器通信存在风险,即客户端向无法处理它的服务器发送压缩请求。我想以 standards-compliant 的方式检测支持。问题是,我找不到指示如何完成此操作的来源。
我的想法是我应该将 Accept-Encoding: gzip
header 添加到 OPTIONS
响应中。我们已经在为 CORS 发送预检 OPTIONS
请求,因此 piggy-backing 似乎可以节省延迟。但是我找不到消息来源说这个 header 在 OPTIONS
响应中有效。 RFC 7231's definition of OPTIONS 只是简单地定义了方法,而没有详细说明可以指定的内容。
有没有什么标准可以表示可以发送压缩请求?
是的,确实使用了 Accept-Encoding。请参阅 RFC 7694 (https://www.greenbytes.de/tech/webdav/rfc7694.html)。
我被要求通过压缩发送到服务器的数据来降低我们应用程序的带宽要求。我试图在不更改 API 的情况下透明地执行此操作,即继续使用相同的 URL 和内容类型。我在 How do I enable GZIP compression for POST (upload) requests to a SOAP WebService on IIS 7?
找到了如何编码我认为新客户端被配置为与旧版本的服务器通信存在风险,即客户端向无法处理它的服务器发送压缩请求。我想以 standards-compliant 的方式检测支持。问题是,我找不到指示如何完成此操作的来源。
我的想法是我应该将 Accept-Encoding: gzip
header 添加到 OPTIONS
响应中。我们已经在为 CORS 发送预检 OPTIONS
请求,因此 piggy-backing 似乎可以节省延迟。但是我找不到消息来源说这个 header 在 OPTIONS
响应中有效。 RFC 7231's definition of OPTIONS 只是简单地定义了方法,而没有详细说明可以指定的内容。
有没有什么标准可以表示可以发送压缩请求?
是的,确实使用了 Accept-Encoding。请参阅 RFC 7694 (https://www.greenbytes.de/tech/webdav/rfc7694.html)。