首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绕过Chrome发送的"Content-encoding gzip deflate“头?

如何绕过Chrome发送的"Content-encoding gzip deflate“头?
EN

Stack Overflow用户
提问于 2010-11-05 20:04:26
回答 3查看 2.9K关注 0票数 5

我们在嵌入式设备的web服务器上有一个简单的HTML登录表单。由于严重的内存限制,web服务器是自定义编码的。不管这些限制,我们喜欢Chrome并希望支持它。

所有浏览器都会向我们的登录表单发送一个HTTP请求,其中包含预期的"username=myname&password=mypass“字符串,但不包含Chrome。取而代之的是,我们从Chrome收到了一个“内容编码gzip压缩”请求。顺便说一句,我所说的“所有浏览器”,我的意思是,这在Internet Explorer版本9 beta,8,7,6;Firefox版本4 beta,3,2;Opera10,9;Safari5,4,3;和SeaMonkey 2上运行良好。

参考w3.org的http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html的"14.2 Accept Charset“一节,我们尝试发回一个HTTP406代码,以表明该服务器不支持该编码,希望Chrome会再试一次,并以标准方式发布预期的字符串。web服务器返回的406代码清楚地显示在Chrome的"Inspect Element“窗口中,但Chrome似乎将其视为错误代码,并且不会向web服务器发送进一步的请求。“登录失败。”我们还尝试了HTTP返回代码405和200,结果相同。

有没有办法绕过这种行为,既可以通过客户端JavaScript来阻止Chrome发送“内容编码gzip压缩”请求,也可以通过服务器端响应来很好地向Chrome解释我们不做gzip,只需以常规的方式发送给我们?

我们尝试在Google Chrome故障排除论坛上发帖,但没有响应。

任何帮助都将不胜感激!

致以最好的问候,伯特

EN

回答 3

Stack Overflow用户

发布于 2011-10-24 23:16:27

您在错误的部分中查找错误代码:RFC2616的第14.11节指定,如果您不能处理Content-Encoding,则发送415 (不支持的媒体类型)。

票数 2
EN

Stack Overflow用户

发布于 2010-11-06 00:16:09

听起来就像第一次使用chrome向服务器发送邮件时,chrome默认使用gzip编码。很奇怪。

简单的解决方法就是将你的用户名/传递作为GET参数,在发送响应时,只要你不发送gzip内容编码,chrome就应该从那时开始使用非gzip压缩的帖子。希望这能行得通?

票数 0
EN

Stack Overflow用户

发布于 2010-11-07 04:16:53

我用一个输出到stdout的简单Python脚本对此进行了一些测试。我以为我也遇到了同样的问题,但后来我意识到我只是忘记了刷新stdout。似乎Chrome总是在发送请求内容之前将请求发送到头部的末尾,并且您必须使用第二个recv调用来获取POST数据。相反,整个Firefox请求在单个recv调用中返回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4105670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档