We understand the hash is for AJAX searches, but the exclamation mark? Anyone know?
Also, the "action" attribute for their search form points to "/search," but when you conduct a search, the hash exclamation mark appears in the URL. Are they simply redirecting from "/search" to "/#!/search"?
Note: the second part of the q remains unanswered: That is, are they redirecting the user from "/search" to "/#!/search", or do they send the user to "/search" and use JS on the page to rewrite the URL? – Crashalot Jan 26 at 23:51
Thanks!
Source: Tips4all
To answer the second part then: It is redirecting you to /#!/search.
ReplyDeleteIf you look at the response headers when going to http://twitter.com/britishdev (plug plug) you are returned a 302 (temporary redirect) with the Location header set as "Location: http://twitter.com/#!/britishdev"
Yes JavaScript is then pulling all your detail in on the destination page but regardless that is where you are redirected to.
It's become the de facto standard that Google has established to ensure consistency and make ajax urls crawlable.
ReplyDeleteSee http://code.google.com/web/ajaxcrawling/docs/getting-started.html
I believe they are using history.pushState. You can do history.back() in the console and it'll lead you back to the page.
Yes, it redirects with HTTP 302.
ReplyDeleteBy the way, "!" is used to eliminate the case with an empty hash. "http://url#" will make a browser to slide to the top.