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

Почему данные Twitter и Google API не кодируют амперсанды в URL-адресах?

I прочитали Я должен кодировать мои амперсанды как & в HTML.
Однако многочисленные примеры кода от уважаемых компаний как-то забывают сделать это.

Всего несколько примеров от верхней части головы:

Пример веб-шрифтов Google:

<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin,cyrillic' rel='stylesheet' type='text/css'>

Документация Google Maps:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=ja">

Twitter Anywhere официальный учебник:

<script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1" type="text/javascript"></script>

Есть ли реальная польза от не ускользания амперсанда в ссылках?
Это связано с причудами браузера? Это просто ошибка в документации?

Уважаемые ответчики, убедитесь, что вы отвечаете на правильный вопрос.

Я знаю, что я должен избегать амперсандов на каждую спецификацию. Я также знаю , почему механизм был изобретен в первую очередь. Я не спрашиваю об этом. Мой вопрос:

Есть ли причина, по которой документация по обоснованности компаний, уважаемых компаниями, часто нарушает это правило?

4b9b3361

Ответ 1

Есть ли какая-то реальная выгода от не ускользания амперсанда в ссылках?

Сохраняет несколько нажатий клавиш.

Это связано с причудами браузера?

Нет

Это просто ошибка в документации?

Да

Существует ли причина, по которой документация по обоснованности порядочных компаний часто нарушает это правило?

Незнание и/или лень. Браузеры выполняют восстановление ошибок, поэтому они либо не замечают ошибок, либо им все равно. Документация, вероятно, не написана их лучшими специалистами.

Ответ 2

Здесь два разных контекста.

  • В контексте javascript href, и он просто хорош и не должен быть закодирован.
  • В HTML-ссылке это запрещено и должно быть экранировано.

В контексте HTML-ссылки объект символа HTML будет декодирован до того, как адрес будет передан процессу HTTP; URL-кодированный символ не будет, так как сервер может прочитать его напрямую.