Подтвердить что ты не робот

Почему Twitter использует хеш и восклицательный знак в URL-адресах и как они переписывают поисковые URL?

Мы понимаем, что хэш предназначен для поиска AJAX, но восклицательный знак? Кто-нибудь знает?

Кроме того, атрибут "действие" для своей формы поиска указывает на "/search", но когда вы проводите поиск, в URL-адрес появляется знак восклицания. Они просто перенаправляются из "/search" в "/#!/Search"?

Примечание: вторая часть q остается без ответа: то есть они перенаправляют пользователя из "/search" в "/#!/search" или отправляют пользователя в "/search" и использовать JS на странице, чтобы переписать URL-адрес? - Crashalot 26 января в 23:51

Спасибо!

4b9b3361

Ответ 1

Чтобы ответить на вторую часть, выполните следующие действия: она перенаправляет вас на /#!/search.

Если вы посмотрите на заголовки ответов при переходе на http://twitter.com/britishdev (plug-plug), вам возвращается 302 (временная переадресация) с помощью Заголовок местоположения установлен как "Местоположение: http://twitter.com/#!/britishdev"

Да JavaScript затем вытаскивает все ваши детали на целевой странице, но независимо от того, на что вы перенаправлены.

Ответ 2

Он становится стандартом де-факто, установленным Google, чтобы обеспечить согласованность и сделать ajax-URL-сообщения ползущими.

См. http://code.google.com/web/ajaxcrawling/docs/getting-started.html

Я считаю, что они используют history.pushState. Вы можете сделать history.back() в консоли, и он вернет вас на страницу.

Ответ 3

Да, он перенаправляет HTTP 302.

Кстати, "!" используется для устранения случая с пустым хэшем. "http://url #" заставит браузер сдвинуться в начало.