【问题标题】:Illegal 304 HTTP response?非法 304 HTTP 响应?
【发布时间】:2011-07-10 14:56:46
【问题描述】:

所以这是一个有趣的问题,我什至不确定从哪里开始研究这个问题。我有一个用 C# 编写的 MVC3 应用程序,其中列出了在线广告。在主页上,它显示了最近放置的 10 个带有照片的广告的列表。看看 Chrome 中的this page。在第一页加载时,它加载得很好。现在按 F5。它将继续在浏览器标签中显示“加载”指示符,如果您向下滚动,则 2 或 3 个广告图像不会显示。奇怪的是,它总是在页面的同一区域中显示图像(可能是第 6、7 或第 8 张图像)。它绝不是前几个,也绝不是最后一个。

这仅在 Chrome 中发生,并且仅在您按 F5 时发生。如果您单击顶部的“Equispot”徽标(将您重定向到主页),它就可以正常工作。

有谁知道这可能是什么原因或如何解决这个问题?

编辑:我想我可能会有所收获。 Fiddler 在未显示的图像上指示 500 错误。这是错误:

[Fiddler] 响应标头解析失败。 这可能是由于之前在这个重用的服务器套接字上的非法 HTTP 响应造成的——例如,非法包含正文的 HTTP/304 响应。

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

【问题讨论】:

  • 如果您承认这个问题已回答,那么@Scott 会很有帮助,这样它就不会不断弹出。虽然不可否认,只过去了5个小时。 (有些人将自己或其他人回答的问题搁置了几个月,所以我并不是真的在抱怨)。我喜欢这些马的图片,还学到了一些关于重用服务器套接字的有用知识,对此我表示感谢。
  • 我正在等待能够做到这一点。您必须等待两天才能将自己的答案标记为正确答案。
  • 好吧,我没意识到。谢谢你告诉我两天规则。非常感谢。

标签: c# image google-chrome


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    根据我的 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}}
    

    【讨论】:

    • 我看到它试图继续从 Facebook、Adsense、Analytics 等加载。这似乎是随机的。如果你回到页面,再试一次,是不是同一个资源不会加载?
    • @Scott,到目前为止一直如此,但我承认我还没有检查过其他人,因为这个人一直很突出。有趣的是,它每次都被标记为(from cache)
    猜你喜欢
    • 1970-01-01
    • 2015-05-19
    • 2018-02-05
    • 2013-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多