我正在调查google.com在firebug中的Net活动,因为我很好奇并注意到请求返回"204 No Content".
事实证明,204 No Content"主要是为了允许在不引起用户代理的活动文档视图更改的情况下进行操作的输入,尽管任何新的或更新的元信息应该应用于当前在用户代理的活动中的文档视图." 随你.
我查看了JS源代码,看到像这样请求"generate_204":
(new Image).src="http://clients1.google.com/generate_204"
Run Code Online (Sandbox Code Playgroud)
根本没有变量声明/赋值.
我的第一个想法是,它被用于跟踪Javascript是否已启用.但是,"(新图像).src ='...'"调用无论如何都是从动态加载的外部JS文件中调用的,因此这将毫无意义.
任何人都有任何关于这一点的想法?
UPDATE
"/ generate_204"似乎可以在许多谷歌服务/服务器上使用(例如,maps.google.com/generate_204,maps.gstatic.com/generate_204等...).
您可以通过为您的网络应用可能使用的每个Google拥有的服务预先获取generate_204页面来利用此功能.像这样:
window.onload = function(){
var two_o_fours = [
// google maps domain ...
"http://maps.google.com/generate_204",
// google maps images domains ...
"http://mt0.google.com/generate_204",
"http://mt1.google.com/generate_204",
"http://mt2.google.com/generate_204",
"http://mt3.google.com/generate_204",
// you can add your own 204 page for your subdomains too!
"http://sub.domain.com/generate_204"
];
for(var i = 0, l = two_o_fours.length; i < l; ++i){
(new Image).src = two_o_fours[i];
}
};
Run Code Online (Sandbox Code Playgroud)