为什么像twitter这样的网站,gawker使用#!而不是简单的URL?

时间:2011-02-09 23:53:25

标签: ajax url twitter web-crawler

  

可能重复:
  What's the shebang (#!) in Facebook and new Twitter URLs for?

Twitter的个人资料现在具有以下形式的网址:

http://twitter.com/#!/username

而不是更简单的结构:

http://twitter.com/username

#!做什么?使用#!有什么好处?我读到它与google的网络抓取工具有关,但我不明白它是如何工作的。

2 个答案:

答案 0 :(得分:7)

这有两个部分:

为什么片段标识符而不是真实页面?

因为它们是overusing Ajax。它们不是链接到新页面,而是链接到当前页面的不存在或动态生成的fragment,然后使用JavaScript来更改内容。

为什么用!

启动片段标识符

因为Google map it onto a different URL所以您可以为他们提供特殊的替代版本。这允许搜索引擎将内容编入索引。

答案 1 :(得分:2)

在URL中,哈希标记(#)之后的内容不会发送到服务器,而是在页面上的JavaScript中可见。因此,使用#基本上允许页面“http://twitter.com/”来处理它(例如,通过打开后台连接来加载其他数据)。这也意味着不会从一个页面改变到另一个页面的内容(想想页面的总体布局)可以被缓存并立即提供(因为有效的URL仍然是“http://twitter.com/”),将它放在URL的路径中(没有散列)需要完全单独的获取才能获得该布局。