我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:

注意显示临时标题

我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。

与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。


当前回答

尝试用ctrl + shift +F5重新加载页面,然后再次检查请求头

没有显示完整的头文件,因为有可能请求没有发送到服务器,而是直接从浏览器的缓存(例如使用service worker)提供服务

其他回答

如果您正在开发Asp。Net Mvc应用程序,你试图返回一个JsonResult在你的控制器,确保你添加了JsonRequestBehavior。AllowGet到Json方法。这为我解决了问题。

public JsonResult GetTaskSubCategories(int id)
{
    var subcategs = FindSubCategories(id);

    return Json(subcategs, JsonRequestBehavior.AllowGet);  //<-- Notice it has two parameters
}

当我发送无效的HTTP授权报头时,发生了这个问题。我忘记用base64编码了。

这个报头显示的原因是:你的请求没有发送到远程。

它通常由

扩展已经阻止您的请求 Chrome使用自己的缓存获取您的资源

Chrome无法从尚未发出的请求中获得请求头。

chrome的最新版本显示:

只有临时头是可用的,因为这个请求不是通过网络发送的,而是从本地缓存提供的, 它不存储原始请求头。 禁用缓存以查看完整的请求头

如果响应无效并因此被浏览器删除,也会出现此警告消息。

在我的例子中,请求被正确地发送到服务器,服务器端代码随后产生一个错误,我的自定义错误处理在HTTP状态消息字段中返回错误消息。但是客户端没有收到此错误,因为错误消息中的无效字符(此处描述为http://aspnetwebstack.codeplex.com/workitem/1386)导致响应报头损坏。

当我第二次尝试为require js加载main.js时,我运行了这个问题,因为错误导致了我的更改。 我刚刚在开发工具设置中打开了“禁用缓存(当开发工具打开时)”. 这很有魅力。