非法304 HTTP响应?

时间:2011-07-10 14:56:47

标签: c# image google-chrome

所以这是一个有趣的问题,我甚至不确定从哪里开始看这个问题。我有一个用C#编写的MVC3应用程序,列出了在线广告。在主页上,它会显示已放置照片的10个最新广告的列表。在Chrome中查看this page。在第一页加载时,它加载就好了。现在点击F5。它将继续在浏览器选项卡中显示“加载”指示符,如果向下滚动,则不会显示2或3个广告图像。奇怪的是,它总是在页面的同一区域(可能是第6,第7或第8张图像)中的图像。它永远不是最初的几个,也绝不是最后一个。

这只发生在Chrome中,只有在您点击F5时才会发生。如果您单击顶部的“Equispot”徽标(将您重定向到主页),它可以正常工作。

是否有人知道可能导致此问题的原因或如何解决此问题?

编辑:我想我可能会到达某个地方。 Fiddler表示未显示的图像有500错误。这是错误:

[Fiddler]响应标头解析失败。 这可能是由于此次重用服务器套接字上的非法HTTP响应引起的 - 例如,非法包含正文的HTTP / 304响应。

由于我的所有图像都被缓存,并且在丢失图像之前有几个304响应,这似乎是一个可能的罪魁祸首。不知道如何处理修复,因为这对我来说是一个不熟悉的领域。

2 个答案:

答案 0 :(得分:1)

发现问题。我有一个FileCache属性,它为缓存图像的响应添加了不必要的字节。删除了,问题解决了,控制器现在返回0字节304响应。

答案 1 :(得分:0)

根据我的Chrome网络监视器,访问 xd_proxy.php 时似乎出现了问题,在页面刷新时,似乎无法返回。

    {"pageref":"http://static.ak.fbcdn.net/connect/xd_proxy.php?version=3#cb=f2583cfee4&origin=http%3A%2F%2Fwww.equispot.com%2Ff1f91777c&relation=parent.parent&transport=postmessage&type=resize&height=20&ackData[id]=1&width=90",
"startedDateTime":"2011-07 10T15:01:26.361Z",
"time":1,"request":
{"method":"GET","url":"http://static.ak.fbcdn.net/connect/xd_proxy.php?version=3#cb=f2583cfee4&origin=http%3A%2F%2Fwww.equispot.com%2Ff1f91777c&relation=parent.parent&transport=postmessage&type=resize&height=20&ackData[id]=1&width=90",
"headers":[],
"queryString":[{"name":"version","value":"3#cb"},{"name":"origin","value":"http%3A%2F%2Fwww.equispot.com%2Ff1f91777c"},{"name":"relation","value":"parent.parent"},{"name":"transport","value":"postmessage"},{"name":"type","value":"resize"},{"name":"height","value":"20"},{"name":"ackData[id]","value":"1"},{"name":"width","value":"90"}],
"cookies":[],"headersSize":-1,"bodySize":-1},"response":{"status":0,"statusText":"","headers":[],"cookies":[],"content":{"size":2575,"mimeType":"text/html"},"redirectURL":"","headersSize":-1,"bodySize":2575},"cache":{},"timings":{"blocked":0,"dns":-1,"connect":-1,"send":-1,"wait":-1,"receive":0,"ssl":-1}}