gpt4 book ai didi

image - 当响应 header 在 IE 和 Fiddler 中具有正确长度时为空图像响应正文

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:18 27 4
gpt4 key购买 nike

这里有很多细节:

  1. 容器:JETTY 7.62 和 7.69(都试过了)
  2. 图片:试过 jpg 和png
  3. 浏览器:IE9 和 Fiddler 工具

所以我们有一个网页,其中包含一个标准的 img 标签。当我们在缓存被清除后从 IE 访问页面时,我们得到一个 200 的图像,事实上这就是我们在

中看到的

请求 header :

Key Value
Request GET /cc/auth/images/test.jpg HTTP/1.1
Accept image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5
Accept-Language en-US
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding gzip, deflate
Host van-test-login9.login.dev.net:8443
Connection Keep-Alive

响应头:

Key Value
Response HTTP/1.1 200 OK
Date Thu, 28 Feb 2013 19:59:48 GMT
Content-Length 25926
Content-Type image/jpeg;charset=UTF-8
Last-Modified Thu, 28 Feb 2013 19:58:38 GMT

但是响应主体是空的..在服务器端我们看到

[28/Feb/2013:19:59:25 +0000] "GET /cc/auth/images/test.jpg HTTP/1.1" 200 25926

因此图像在浏览器中出现损坏。我们一直在通过切换 JETTY 版本进行一些试验,这似乎没有什么不同。我们在使用 FF 或 Chrome 时未发现此问题。此外,如果我们转到端口 8080,我们也无法重现问题。所以好像是SSL/JETTY/IE的组合。

我们还可以通过在浏览器中键入资源位置来尝试直接访问图像来重现该问题。我们也可以使用 Fiddler 重新创建。我们的 JETTY 日志、应用程序或其他方面都没有错误。

我还应该补充一点,这是间歇性的。如果您不断按 F5,一旦发生这种情况,最终它会加载并呈现,然后您不会看到损坏的图像,直到您清除缓存。

有人对如何弄清楚这里发生了什么有建议或想法吗?

非常感谢

那么多一点信息,我们在 web.xml 中有这个

<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

我们这样做是为了确保我们所有的传出都是 UTF-8 我们没有意识到的是它还会将所有内容放入一个字符集,包括图像!

有没有简单的方法来过滤掉图片?

最佳答案

解决此问题的一种非常特定于 Jetty 的方法是使用重写处理程序删除响应 header 中的字符集。

http://wiki.eclipse.org/Jetty/Feature/Rewrite_Handler

我不确定我是否真的会推荐它,但它是可能的。我们甚至有针对其他 IE 历史古怪行为的 IE 特定规则。您可以使用现有的基于模式的重写规则或为此创建您自己的规则。

不过,最好在您的应用中解决这个问题。

关于image - 当响应 header 在 IE 和 Fiddler 中具有正确长度时为空图像响应正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15145300/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com