В веб-URL, включая Facebook, я вижу строку /#! появляться. В чем его цель?

Что делает строка #! когда facebook вставляет его в свой URL-адрес, когда я навещаю? Я знаю роль знака #, указывающего местоположение привязки на странице. Но что такое #! для?

url
8 голосов | спросил estephan500 10 J000000Sunday11 2011, 07:52:37

2 ответа


1

В Интернете это называется hashbang . В среде Unix он известен как shebang . В этой статье приведено подробное описание последствий, связанных с использованием hashbangs в URL, используя редизайн Lifehacker в качестве примера.

  

Итак, зачем использовать хеш-бэнг, если это искусственный URL-адрес, и URL-адрес, который нужно переформатировать, прежде чем он укажет на правильный URL-адрес, который фактически возвращает контент?

     

Из всех причин наиболее сильным является «Потому что это круто». Я сказал strongest не strong .

Дэнни Торп описывает его побочные эффекты в эта статья из его блога.

  

Другим побочным эффектом использования фрагментов URL-адреса является то, что фрагменты не отображаются в истории браузера. В результате правил эквивалентности URL-адресов, игнорирующих фрагменты URL-адресов, несколько URL-адресов, которые отличаются только фрагментом, будут отображаться только как одна запись в истории браузера. Это имеет смысл, если вы используете фрагменты URL-адресов, поскольку они были изначально предназначены, чтобы ссылаться на определенные подразделы одной и той же базовой страницы.

     

Хотя я не уверен, что согласен со всеми заявлениями Дэвиса против LifeHacker, я соглашусь, что создание всей системы контента исключительно по шаблону URL хеширования без заметного статического HTML-контента, не зависящего от JavaScript, вероятно, не самый лучший использование шаблона URL-адреса хеширования.

Райан Гроув, инженер YUI в Yahoo !, не рекомендует использовать его и объясняет, почему ответ на этот вопрос на Quora.

  

Нет, URL-адреса hashbang не рекомендуются. Но важно быть абсолютно ясным, что это значит, поэтому читайте дальше.

и сумма вверх:

  
  1. URL-адреса хэша и URL-адреса «hashbang» - это не одно и то же, хотя «hashbang», к сожалению, стал общим именем для «хэш-URL-адресов, которые запускают логику на основе JavaScript».
  2.   
  3. URL-адреса хэшей никогда не отправляются на сервер, поэтому они бесполезны без JavaScript, если вы зависите от них, чтобы запускать логику приложения.
  4.   
  5. Поскольку URL-адреса хэша требуют JS, вы обречены либо навсегда лишить все существующие URL-адреса, либо поддерживать обработчик URL-адреса JS навсегда, если вы когда-либо решите изменить свою схему URL.
  6.   
  7. URL-адреса «Hashbang» не позволяют автоматически индексировать вашу страницу в поисковых системах. Вам все равно нужно сделать много работы на стороне сервера, чтобы это произошло.
  8.   
  9. Даже если вы полностью поддерживаете полную схему Google Ajax Crawling Scheme, это поможет вам только с Google. Вы все еще привязаны к другим поисковым системам.
  10.   

Отметьте этот вопрос на stackoverflow, также.

ответил Alex 10 J000000Sunday11 2011, 17:12:33
0

Это сообщает Google, как индексировать страницу.

http://code.google.com/web/ajaxcrawling/

ответил mr_eclair 10 J000000Sunday11 2011, 22:41:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132