Что должно быть сделано против содержимого атрибута href: кодировка HTML или URL?
<a href="???">link text</a>
С одной стороны, поскольку атрибут href содержит URL, я должен использовать кодировку URL. С другой стороны, я вставляю этот URL в HTML, поэтому он должен быть закодирован в HTML.
Пожалуйста, помогите мне преодолеть это противоречие.
Спасибо.
EDIT:
Здесь противоречие. Предположим, что может быть < и ' > ' в URL. Кодировка URL-адресов не удалит их, поэтому в атрибуте href будут зарезервированы HTML-символы, что нарушает стандарт. HTML-кодирование сбежит '<' и ' > ' символы и HTML будут действительны, но после этого будет неожиданно '&' символов в URL-адресе (это зарезервированный символ для URL-адреса, он используется как разделитель параметров строки запроса).
Зарезервированные URL-адреса формирует надмножество зарезервированные символы HTML за исключением '<' и ' > ', которые зарезервированы для HTML, но не для URL.
ИЗМЕНИТЬ 2:
Я ошибался в отношении '<' и ' > ', они на самом деле являются процентами, экранированными кодировкой URL. Если это так, в этом случае достаточно кодирования URL, не так ли?