url锚点为百度搜索引擎做了什么?

时间:2014-03-11 06:55:48

标签: http url anchor fiddler

我接触了HTTP好几天了,今天我遇到了关于百度搜索引擎的问题。详情如下:

当我使用桌面浏览器打开http://www.baidu.com/并输入一些关键字,然后按ENTER键时,显示的浏览器网址类似于http://www.baidu.com/#wd=stackoverflow&ie=utf-8stackoverflow作为搜索关键字。

请注意锚点 #wd 。我觉得这很奇怪,比如说。例如,谷歌就像https://www.google.com/search?q=stackoverflow没有任何锚点。

我使用Fiddler(http://www.telerik.com/fiddler)来检查HTTP数据包交互,并在几次HTTP数据包交互之后奇怪地找到类似GET /s?ie=utf-8&wd=linux HTTP/1.1的内容。

在整个过程中,服务器只回复HTTP/1.1 200 OK而且没有HTTP/1.1 302 Moved Temporarily之类的内容。

那么它怎么能最终重定向到GET /s?ie=utf-8&wd=linux HTTP/1.1,浏览器对锚 #wd 做了什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

#符号后面的网址组件称为URL Fragment。它不是作为HTTP请求的一部分直接发送到服务器(这就是你在Fiddler中没有看到它的原因);它只能通过页面上运行的JavaScript访问。

有些网站在使用AJAX技术填充网页时会使用网址碎片;有关讨论,请参阅http://blogs.msdn.com/b/ieinternals/archive/2011/05/17/url-fragments-and-redirects-anchor-hash-missing.aspx