1

我正在开发一个浏览器插件和服务器组件系统,它使用自定义编码类型流式传输内容。现在我希望能够在服务器端检测客户端是否可以处理特殊编码,并希望使其与使用 HTTP 的通常方式保持一致,所以我想从浏览器插件中添加一个新的Accept-Encoding 请求标头中的编码。IE:

接受编码:gzip、deflate、myencoding

我已经尝试实现 IHttpNegotiate 并将其设置为BeginningTransaction 中的附加标头,但它似乎要么忽略它,要么稍后被覆盖。

4

1 回答 1

1

请不要尝试这样做。任何允许您修改 Accept-Encoding 标头(例如异步可插入协议包装)的方法都必然是一种 hack,并且不会可靠地工作,因为 WinINET、代理等都对 Accept-Encoding 和 Content-Encoding 做出假设标头,并且引入新方案将不可靠。

例如,我听说一种流行的代理会将未知编码视为 GZIP 并重写 Content-Encoding 标头作为响应;显然这会破坏你的计划。

于 2009-07-30T18:52:43.470 回答