Press "Enter" to skip to content

#锚点或URL hash在http请求中的问题

最近遇到http请求服务,url类似 http://test.com?key=value#test ,url后面会有一个#,英文叫做 Hash fragment?
http://blog.httpwatch.com/2011/03/01/6-things-you-should-know-about-fragment-urls/
这篇文章总结了6点关于#
1.标识是本地的一个链接
2.#及后面的参数不会发送在http request请求中,可以在wireshark中可以看到请求的url不会有#
3.在后#的参数只能表示一个id
4.改变#后面的参数,页面不会重新加载,但是会让浏览器的后退键(历史)可用。
5. JavaScript可以使用window.location.hash改变Fragment IDs(#后观的参数)
6.google会忽略#以后的参数,例如 http://test.com?key=value#test 被 google爬虫抓到的url只能是http://test.com?key=value,不排除强大的google将来可以支持,至少在目前是不支持的。

到目前为止,我最感兴趣是:既然#不能被google等搜索收录,哪有什么办法解决呢 ,在下篇介绍
#及ajax如何适应google搜索