7

如果您点击 Google Instant 中的某个结果,您的浏览器向目标网站发送的referer 包含一堆参数,包括所有重要的 q=[autocompleted query]

但是您来自一个 URL 只是http://www.google.com/的页面,在 # 字符之后有一堆东西,即作为页面锚点。

因此,浏览器似乎正在发送一个 URL 作为引用者,该 URL 与您单击时查看的页面的 URL 不同。

似乎没有额外的重定向,那么他们到底是怎么做到的呢?

4

3 回答 3

5

大多数情况下,Google 搜索结果实际上会将您发送到 Google 重定向页面,而不是直接发送到目标页面。当您单击它时,他们使用 JavaScript 来切换链接 onmousedown 的目标。

您可以通过单击并按住搜索结果链接并查看状态栏来查看此效果。

这并不是 Google Instant 特有的,他们在标准结果页面上已经这样做了很长时间。

于 2010-09-12T15:06:25.400 回答
-1

URL 的页面锚点部分可以在客户端进行操作,而无需向服务器发出新请求。即使在谈论静态锚链接(例如<a href="#foo">Section Foo</a>)时,单击它们也不会导致向服务器发送新请求;它在浏览器中完全处理。

Google 用来使 Google Instant 工作的 javascript 只是在向服务器发出请求之前以编程方式更改锚点。

于 2010-09-12T14:50:26.990 回答
-2

你用的是什么谷歌?

我搜索后的网址是这样的:

http://www.google.es/#sclient=psy&hl=es&q=something+to+search&aq=f&aqi=g4g-o1&aql=&oq=&gs_rfai=&pbx=1&fp=b0 ....

它确实包括q=部分

于 2010-09-12T14:30:31.870 回答