Google.com和clients1.google.com/generate_204

我正在寻找google.com的萤火虫净活动,因为我很好奇,并注意到一个请求返回“204没有内容”。

事实certificate,“204无内容”主要是为了允许input动作而不会导致用户代理的活动文档视图发生变化,尽pipe任何新的或更新的元信息都应该被应用到当前在用户代理活动中的文档视图。” 随你。

我查看了JS的源代码,看到“generate_204”是这样要求的:

(new Image).src="http://clients1.google.com/generate_204" 

根本没有variables声明/赋值。

我的第一个想法是,它被用来追踪Javascript是否启用。 但是“(新的图像).src ='…'”调用是从一个dynamic加载的外部JS文件调用的,所以这是毫无意义的。

任何人都有什么想法,可能是什么意思?

UPDATE

“/ generate_204”似乎在许多Google服务/服务器上可用(例如,maps.google.com/generate_204,maps.gstatic.com/generate_204等)。

您可以通过预先获取您的networking应用程序可能使用的每个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]; } }; 

像Snukker说的,clients1.google.com是searchbuild议的来源。 我的猜测是,他们提出请求,在需要之前强制clients1.google.com进入您的DNScaching,这样您在第一个“真实”请求上的延迟就会减less。

谷歌浏览器已经为网页上的任何链接做到了这一点,(我想)当你在地址栏中input地址。 这似乎是让所有的浏览器都做同样的事情的一种方法。

我发现这个旧的线程,而google为generate_204作为Android似乎使用这个来确定如果wlan是打开(收到响应204)closures(根本没有响应)或阻止(redirect到强制门户存在)。 在这种情况下,通知显示login到WiFi是必需的…

如果Chrome浏览器检测到SSL连接超时,证书错误或其他可能由强制门户网站(酒店的WiFinetworking)导致的networking问题,则Chrome会向http://www.gstatic发出无cookie请求。 com / generate_204并检查响应代码。 如果该请求被redirect,则Chrome会在假设它是login页面的情况下在新标签页中打开redirect目标。 强制门户检测页面的请求未被logging。

字体:Google Chrome隐私白皮书

Google正在使用它来检测设备是在线还是在强制门户中。

Chillium OS的连接pipe理器Shill试图在服务转换到就绪状态时检测强制门户内的服务。 通过尝试检索网页http://clients3.google.com/generate_204来确定处于强制门户或在线状态。; 这个众所周知的URL被称为返回具有HTTP状态204的空白页面。如果由于任何原因网页没有被返回,或者接收到除204以外的HTTP响应,则shill将服务标记为处于门户状态。

以下是Google Chrome隐私权白皮书的相关说明:

如果Chrome浏览器检测到SSL连接超时,证书错误或其他可能由强制门户网站(酒店的WiFinetworking)导致的networking问题,则Chrome会向http://www.gstatic发出无cookie请求。 com / generate_204并检查响应代码。 如果该请求被redirect,则Chrome会在假设它是login页面的情况下在新标签页中打开redirect目标。 强制门户检测页面的请求未被logging。

更多信息: http : //www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection

有时在AJAX中使用204个响应来跟踪点击次数和页面活动。 在这种情况下,在获取请求中传递给服务器的唯一信息是cookie,而不是请求参数中的特定信息,所以在这里似乎不是这种情况。

似乎clients1.google.com是谷歌searchbuild议后面的服务器。 当您访问http://www.google.com时; ,该Cookie将传递到http://clients1.google.com/generate_204 。 也许这是在服务器上启动某种会话? 无论使用什么,我怀疑这是一个非常标准的使用。

这份文件解释说:

http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1417&context=ecetr&sei-redir=1

searchgenerate204

相关部分:

在不同的对象中,javascript函数会触发一个发送到video服务器的generate204请求,该服务器应该为video提供服务。 这启动了video预取,它有两个主要目标:首先,它强制客户端执行video服务器名称的DNSparsing。 其次,它强制客户端打开一个朝向video服务器的TCP连接。 两者都有助于加速video下载阶段。

另外, generate204的请求与真实video下载请求的格式和选项完全相同,因此video服务器最终会被警告客户端可能会很快下载该video。 请注意,video服务器将回复一个204 No Content响应,如命令所暗示的那样,到目前为止还没有下载video内容。

我发现这个博客文章解释说,它用来logging点击。 没有Google的官方言论,可以使用任何数量的东西。

http://mark.koli.ch/2009/03/howto-configure-apache-to-return-a-http-204-no-content-for-ajax.html

通过谷歌的大规模汇款来阻止垃圾邮件和他们的search数据库的搜刮,我相信这是努力跟踪机器人的一部分。

一些简单的反bot机器人可以这样下去。

 On GET (google.*) Save RemoteEndPoint { If RemoteEndPoint GETs (clients1.google.com/generate_204) Then Set botAlert_stage1 = false; Else Set botAlert_stage1 = true; End If } 

我也相信,最新的谷歌首页'主题'也是一个新的工具来帮助反垃圾邮件/机器人的活动。

**注意** ipv6.google.com也包含此措施。

只是我毫无根据的两个2p。

生成器204可以dynamic加载search标准的build议。 正如我从我的负载testing脚本中可以看到的,每次用户键入文本框时,这似乎是每个服务器调用的责任

许多应用程序访问此URL以确定它们是否具有仅导致强制门户的连接。

这个想法是任何强制性的门户网站认为这是一个“正常的”网站,然后将你redirect到它的门户网站,这是返回一个状态200.如果一个应用程序试图访问任何正常的网站,它面临着一个完全意外反应,并可能有问题找出什么是错的。 然而,使用这个URL很容易:如果你的状态是200,那么你就在一个强制门户里,你可以告诉你的用户去做一些事情(通常是用浏览器login到门户,或者关掉WiFi并依靠在3G上,如果他们正在使用手机)。 如果您的状态为204,则表示您已连接到Google,因此您的应用程序实际上已连接到互联网。

微软和苹果使用稍微不同的方法; 他们都有一些URL返回一个非常具体的短消息,状态200,所以,而不是访问谷歌url,你可以例如去“captive.apple.com”和检查状态200与数据=“成功”和没有其他的。 如果你的状态是200,而不是那个数据,那么你又是一个强制门户。

那么我已经看了几次,并导致谷歌logging引用者来自第一次访问google.com为前; 使用谷歌浏览器进行跟踪我有90%的人猜测,当谷歌发布其浏览器使用标准列表时,它可能会用于日志查阅器 ,或许是用户代理统计数据

  • 请求url: http//clients1.google.se/generate_204

  • 请求方法: GET

  • 状态码: 204没有内容

响应头

  • 内容长度:0
  • 内容types:文本/ HTML
  • date:2010年5月21日星期五17:06:24 GMT
  • 服务器:GFE / 2.0

这里“ ^ Request Headers ”中的“ Referer ”显示了Googles的统计数字,许多人来自Microsoft.com ,也分析出“ Windows 7 ”这个词来帮助我将注意力集中在Windows 7上。

//史蒂芬