Необходимо кодировать символы в ссылках HTML? - PullRequest
1 голос
/ 16 ноября 2010

Должен ли я кодировать символы, содержащиеся в URL?

Пример:

<a href="http://google.com?topicId=1&pageId=1">Some link using &</a>

или

<a href="http://google.com?topicId=1&amp;pageId=1">Some link using &amp;</a>

Ответы [ 3 ]

1 голос
/ 16 ноября 2010

Да.

В HTML (включая, насколько мне известно, XHTML и HTML5) все значения атрибутов и содержимое тега должны быть закодированы:

Авторам также следует использовать «&» в значениях атрибутов, поскольку в значениях атрибутов CDATA допускаются ссылки на символы.

0 голосов
/ 16 ноября 2010

Существует два разных вида кодирования, которые необходимы для различных целей в веб-программировании, и легко запутаться.

Специальные символы в тексте, который должен отображаться как HTML, должны быть закодированы как объекты HTML.В частности, это такие символы, как «<», которые являются частью разметки HTML, но они также могут быть полезны для других специальных символов, если есть какие-либо сомнения относительно используемой кодировки символов.</p>

Специальные символы в URL-адресе должны быть закодированы в URL (заменены на% nn коды).

Вставка HTML-сущности в URL не представляет опасности, если она будет обрабатываться.как текст HTML, независимо от того, что получает его;но если она является частью инструкции для программы (например, & используется для разделения аргументов в строке запроса CGI), вам не следует кодировать ее.

0 голосов
/ 16 ноября 2010

Зависит от того, как обрабатываются и идентифицируются ваши файлы.

Для XHTML - да, и это необходимо.

Для HTML нет и это неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...