我对 Content-Encoding 和 Transfer-Encoding 的使用有疑问:
请让我知道我的以下理解是否正确:
客户端在其请求中可以使用 accept-encoding 标头指定它愿意接受哪些编码类型。因此,如果服务器希望在传输之前对消息进行编码,例如。gzip,它可以压缩实体(内容)并添加内容编码:gzip 并通过 HTTP 响应发送。在接收时,客户端可以接收并解压缩和解析实体。
在传输编码的情况下,客户端可以指定它愿意接受哪种编码并即时执行其操作。即如果客户端发送一个 TE: gzip; q=1,这意味着如果服务器愿意,它可以使用 Transfer-Encoding: gzip 发送 200 OK 并且当它尝试发送流时,它可以压缩和发送,客户端在接收到内容后,可以即时解压缩和执行其解析。
我的理解到此为止吗?请给出意见。
另外,动态压缩实体与先压缩实体然后再传输的基本优势是什么?传输编码是否仅对分块响应有效,因为我们在传输前不知道实体的大小?
Jul*_*hke 12
区别真的不在于即时与否——内容编码既可以预先计算,也可以即时计算。
区别在于:
请参阅http://greenbytes.de/tech/webdav/rfc7230.html#transfer.codings和http://greenbytes.de/tech/webdav/rfc7231.html#data.encoding。
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |