Internet explorer 如何在IE中使用Url名字或其他方法更改Accept Encoding标头?

Internet explorer 如何在IE中使用Url名字或其他方法更改Accept Encoding标头?,internet-explorer,request-headers,urlmon,Internet Explorer,Request Headers,Urlmon,我正在开发一个浏览器插件和服务器组件系统,以自定义编码类型流式传输内容。现在,我希望能够在服务器端检测客户端是否能够处理特殊编码,并希望它与HTTP的正常工作方式保持一致,因此我希望从浏览器插件在Accept encoding请求头中添加一个新编码。i、 e: 接受编码:gzip、deflate、myencoding 我尝试过实现IHttpNegotiate,并在BeginningTransaction中将其设置为附加头,但它似乎要么忽略它,要么稍后被覆盖。请不要尝试这样做。任何允许您修改接受编

我正在开发一个浏览器插件和服务器组件系统,以自定义编码类型流式传输内容。现在,我希望能够在服务器端检测客户端是否能够处理特殊编码,并希望它与HTTP的正常工作方式保持一致,因此我希望从浏览器插件在Accept encoding请求头中添加一个新编码。i、 e:

接受编码:gzip、deflate、myencoding


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

请不要尝试这样做。任何允许您修改接受编码头(例如,异步可插拔协议包装)的方法都必然是一种黑客行为,并且不会可靠地工作,因为WinINET、代理等都对接受编码和内容编码头进行了假设,并且引入新方案是不可靠的


例如,我听说一个流行的代理将把未知编码作为GZIP处理,并重写内容编码头作为响应;显然,这会破坏你的计划。

请不要试图这样做。任何允许您修改接受编码头(例如,异步可插拔协议包装)的方法都必然是一种黑客行为,并且不会可靠地工作,因为WinINET、代理等都对接受编码和内容编码头进行了假设,并且引入新方案是不可靠的


例如,我听说一个流行的代理将把未知编码作为GZIP处理,并重写内容编码头作为响应;显然这会破坏你的计划。

很有趣。如果有那么多东西会破坏它,那么HTTP规范的意义是什么?无论如何,这是在特定的公司环境中使用的,所以代理问题真的不会成为问题;我们已经在此环境下在Firefox中彻底测试了此方案。但是WinINET对Accept编码头做了什么假设呢?无论如何,谢谢你的回答。考虑到这一点,再加上在IE中实现这一点所涉及的明显的黑客行为,我决定只使用一个单独的请求头,并继续我最初的计划,即使用自定义MIME类型而不是内容编码。如果有这么多东西要破坏HTTP规范,那么它有什么意义呢?无论如何,这是在特定的公司环境中使用的,所以代理问题真的不会成为问题;我们已经在此环境下在Firefox中彻底测试了此方案。但是WinINET对Accept编码头做了什么假设呢?无论如何,谢谢你的回答。考虑到这一点,再加上在IE中实现这一点所涉及的明显的黑客行为,我决定只使用一个单独的请求头,并继续使用自定义MIME类型而不是内容编码的原始计划。