我正在调查google.com在firebug中的Net活动,因为我很好奇并注意到请求返回"204 No Content".
事实证明,204 No Content"主要是为了允许在不引起用户代理的活动文档视图更改的情况下进行操作的输入,尽管任何新的或更新的元信息应该应用于当前在用户代理的活动中的文档视图." 随你.
我查看了JS源代码,看到像这样请求"generate_204":
(new Image).src="https://img.devbox.cn/3cccf/16086/243/4252a71e1dc6e95e.png" alt="在此输入图像描述">
1> 小智..:我发现这个旧线程虽然google'ing为generate_204,因为Android似乎使用它来确定wlan是否打开(响应204被接收)关闭(根本没有响应)或被阻止(重定向到强制门户网站存在).在这种情况下,会显示一条通知,要求登录WiFi ...
2> Matthew Crum..:就像Snukker所说,clients1.google.com是搜索建议的来源.我的猜测是,他们会在您需要之前提出强制client1.google.com强制进入您的DNS缓存的请求,这样您在第一个"真实"请求上的延迟就会减少.
谷歌浏览器已经为页面上的任何链接执行此操作,并且(我认为)当您在位置栏中键入地址时.这似乎是一种让所有浏览器都做同样事情的方法.
这是测试你是否真的有互联网连接.当您在wifi上访问任何网页时,仍然可以生成200 ok响应,但会向您显示与您创建的网页不同的网页.Google通过尝试获取将生成204的URL进行测试,如果成功,他们知道您实际上是在线(而不是在破碎的热点上)
3> 小智..:如果Chrome检测到SSL连接超时,证书错误或可能由强制网络门户(例如酒店的WiFi网络)引起的其他网络问题,则Chrome会向http://www.gstatic发出无cookie请求. com/generate_204并检查响应代码.如果该请求被重定向,Chrome将在新标签页中打开重定向目标,前提是它是一个登录页面.不会记录对强制网络门户检测页面的请求.
字体:谷歌Chrome隐私白皮书
4> Suresh..:谷歌正在使用它来检测设备是在线还是在强制门户中.
Shill是Chromium OS的连接管理器,它会在服务转换到就绪状态时尝试检测强制网络门户内的服务.通过尝试检索网页http://clients3.google.com/generate_204,可以确定是在强制门户中还是在线.已知这个众所周知的URL返回具有HTTP状态204的空页面.如果由于任何原因未返回网页,或者接收到除204之外的HTTP响应,则shill将该服务标记为处于门户状态.
以下是Google Chrome隐私权白皮书的相关说明:
如果Chrome检测到SSL连接超时,证书错误或可能由强制网络门户(例如酒店的WiFi网络)引起的其他网络问题,则Chrome会向http://www.gstatic发出无cookie请求. com/generate_204并检查响应代码.如果该请求被重定向,Chrome将在新标签页中打开重定向目标,前提是它是一个登录页面.不会记录对强制网络门户检测页面的请求.
更多信息:http://www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection
5> Snukker..:有时在AJAX中使用204个响应来跟踪点击次数和页面活动.在这种情况下,在get请求中传递给服务器的唯一信息是cookie而不是请求参数中的特定信息,因此这似乎不是这种情况.
似乎clients1.google.com是谷歌搜索建议背后的服务器.当您访问http://www.google.com时,Cookie会传递到http://clients1.google.com/generate_204.也许这是在服务器上启动某种会话?无论用什么,我都怀疑它是非常标准的用途.
顺便说一下,当搜索框为空时,请点击"我感觉很幸运".如果你在新的一年里这样做,你可能会感到惊讶