Создание ссылок и связанные с этим проблемы
Современное программное обеспечение иногда дает пользователю возможность
автоматически создать гиперссылку, просто введя строку, которая выглядит как веб-
адрес, адрес электронной почты или сетевой путь. Например, ввод «www.icann.org» в
сообщение электронной почты может привести к автоматическому созданию активной
ссылки на сайт http://www.icann.org, если приложение распознает «www.» как
начальную метку или «.org» как TLD.
Создание ссылки — это действие, при котором приложение принимает строку и
динамически определяет, следует ли создать гиперссылку на местоположение
в интернете (http:// или https://) или адрес электронной почты (mailto:). При этом
механизм создания ссылок должен слаженно работать для всех правильно
сформированных веб-адресов, адресов электронной почты и сетевых путей.
При генерации ссылок применяются алгоритмы и правила, созданные разработчиками
программного обеспечения для определения того, следует ли считать строку ссылкой
или нет. Это связано с возможностями человека идентифицировать строку как
доменное имя. Хотя браузеры, почтовые клиенты и текстовые редакторы —
очевидные места применения таких алгоритмов и правил, есть
множество других приложений которые их используют.
Рекомендации по эффективной практике
-
Старайтесь создавать ссылки на основе явных префиксов протокола (напр.,
«https://», «ftp://», «mailto:»), но выполняйте такую операцию, только если
остальная часть строки сформирована правильно.
Пример строки Ожидаемое поведение/результат example.com Ссылка не создается, так как протокол не указан. http://example.com Гиперссылка создается, поскольку протокол четко указан. http:example.com Ссылка не создается из-за неправильного синтаксиса (отсутствует //). http://example.a Ссылка не создается, потому что «a» не является TLD. http://example..ab Ссылка не создается из-за неправильного синтаксиса (две точки подряд). http://普遍接受-测试.世界 Гиперссылка создается, поскольку протокол четко указан.
- Старайтесь создавать ссылки на основе неявных префиксов протоколов (напр.,
«www» подразумевает «http://www»).
Пример строки Ожидаемое поведение/результат www.example.com Гиперссылка создается, поскольку протокол косвенно указан label@example.com Создается ссылка типа mailto: label@example.com, поскольку протокол косвенно указан.
- Двунаправленный URL-адрес в гипертексте может содержать служебные коды, влияющие на направление отображения текста в нем. В ссылке следует сохранить то же самое направление отображения.
- Если TLD используется в качестве отличительного признака для определения является ли строка ссылкой, то должен использоваться актуальный перечень TLD, который следует часто обновлять.