为什么Twitter在URL中使用哈希和感叹号,以及它们如何重写搜索URL?

Cra*_*lot 33 twitter ajax fragment-identifier

我们理解哈希用于AJAX搜索,但是感叹号?谁知道?

此外,其搜索表单的"action"属性指向"/ search",但是当您进行搜索时,URL中会出现哈希感叹号.他们只是从"/ search"重定向到"/#!/ search"吗?

注意: q的第二部分仍然没有答案:也就是说,他们是将用户从"/ search"重定向到"/#!/ search",还是将用户发送到"/ search"并在页面上使用JS重写网址? - Crashalot 1月26日23:51

谢谢!

med*_*iev 31

它已成为Google建立的事实标准,以确保一致性并使ajax网址可以抓取.

请参阅http://code.google.com/web/ajaxcrawling/docs/getting-started.html

我相信他们正在使用history.pushState.您可以history.back()在控制台中进行操作,它会引导您返回页面.


tes*_*ter 23

是的,它使用HTTP 302重定向.

顺便说说, "!" 用于消除空哈希的情况."http:// url#"将使浏览器滑到顶部.


Bri*_*per 10

接下来回答第二部分:它将您重定向到/#!/ search.

如果您在访问http://twitter.com/britishdev(插头插件)时查看响应标头,则返回302(临时重定向),并将Location标头设置为"Location:http://twitter.com/# !/ britishdev "

是的JavaScript然后在目标页面上提取您的所有详细信息,但无论您将其重定向到何处.

  • 什么血腥的地狱被我投了票?! (10认同)
  • fyi我没有downvote,我只想到谁做到这一点是因为那个.它让我笑了:) (3认同)
  • 哈哈.啊,你喜欢幽默感! (2认同)