我们有我们的嵌入式设备的Web服务器上的一个简单的HTML登录表单。 Web服务器由于严重的内存限制而被自定义编码。不管这些限制,我们都喜欢Chrome并希望支持它。如何解决Chrome发送的“Content-encoding gzip deflate”头文件?
所有浏览器在我们的登录表单中发布HTTP请求,其中包含预期的“用户名= myname & password = mypass”字符串,但不包含Chrome。相反,我们从Chrome收到“Content-encoding gzip deflate”请求。顺便说一句,“所有浏览器”,我的意思是这个测试可以在Internet Explorer 9 beta,8,7,6; Firefox版本4测试版,3,2;歌剧10,9; Safari 5,4,3;和SeaMonkey 2.
参考w3.org的http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html的“14.2 Accept Charset”部分,我们试着发回一个HTTP 406代码来表明这个服务器不支持该编码,希望Chrome会再次尝试和发布预期的字符串是标准的方式。由Web服务器返回406代码清晰地显示在Chrome的“检查元素”窗口,但它似乎是Chrome被视为一个错误代码,并没有进一步的请求被发送到Web服务器。 “登录失败。”我们也尝试了HTTP返回代码405和200,结果相同。
有没有办法绕过这种行为,或者阻止Chrome发送“Content-encoding gzip deflate”请求的客户端JavaScript或者服务器端的响应,这会很好地解释Chrome不要做gzip,只是发送给我们经常的方式?
我们试图张贴到谷歌Chrome疑难解答论坛,没有任何反应。
任何帮助将不胜感激!
最好的问候, 伯特