Пять критериев универсального принятия
Универсальное принятие — состояние, когда все интернет-ориентированные
приложения, устройства и системы правильно и единообразно принимают, проверяют,
хранят, обрабатывают и отображают все корректные доменные имена и адреса
электронной почты.
Пять основных критериев универсального принятия описаны ниже.
Принятие
Принятие это процесс получения адреса электронной
почты или доменного имени в виде строки символов из
пользовательского интерфейса, файла или API,
используемого приложением или интернет-сервисом.
Приложения и сервисы должны принимать следующие
доменные имена и адреса электронной почты:
- Введенные через пользовательские интерфейсы.
- Полученные из других приложений и сервисов через API.
Проверка
Проверка может выполняться во многих местах при
получении или создании адреса электронной почты или
доменного имени в виде строки символов приложением
или интернет-сервисом.
Цель проверки — убедиться, что введенная информация
является допустимой или, по крайней мере, определенно не
является недопустимой. Проверка гарантирует
синтаксическую правильность информации. Могут
проводиться и другие проверки.
Что касается доменных имен и адресов электронной почты,
многие программисты традиционно опирались на
специальные методы проверки, такие как проверка того, что
длина TLD находится в допустимых пределах, или что
используются символы из набора ASCII. Однако эти методы
основаны на предположениях, которые больше не
применимы, потому что интернет меняется:
- Доменные имена и адреса электронной почты теперь могут содержать символы Unicode не из набора ASCII.
- Список TLD динамически меняется.
- Любая метка в доменном имени, может содержать до 63 ASCII-символов (в том числе А-метки для IDN доменов).
Сохраняется возможность проверять TLD с помощью других методов, как описано ниже.
Хранение
Хранение — этап, когда адрес электронной почты или
доменное имя хранится в виде строки символов в базе
данных или файле, используемом приложением или
интернет-сервисом, а затем извлекается тем же самым
или другим приложением.
Приложениям и сервисам может требоваться долговременное
и/или кратковременное хранение доменных имен и адресов
электронной почты. Независимо от периода существования
данных, они должны храниться:
- В форматах, соответствующих интернет-стандартам (RFC)
- В других форматах (что менее желательно), позволяющих выполнить преобразование в форматы, соответствующие RFC. Хотя Unicode в именах DNS и адресах электронной почты хранится как UTF-8, в устаревшем коде могут встречаться другие форматы.
Обработка
Обработка выполняется, когда адрес электронной
почты или доменное имя используется приложением или сервисом для
выполнения какого-либо действия (например, поиска или сортировки списка).
При этом может возникнуть необходимость преобразования в альтернативный формат
(например из U-меток в A-метки).
Во время обработки может осуществляться дополнительная
проверка. Способы обработки адресов электронной почты и
доменных имен ограничиваются только фантазией
разработчиков приложений, но важно не делать
предположений (например, что электронное письмо на имя
pākehā@tetaurawhiri.govt.nz адресовано получателю в Новой
Зеландии), которые зависят от политики, выходящей за рамки
DNS.
Отображение
Отображение происходит, когда адрес электронной
почты или доменное имя выводится в
пользовательском интерфейсе.
С отображением доменных имен и адресов электронной почты обычно не возникает
трудностей, если используемые в них языки поддерживаются операционной системой,
а сами они хранятся в Unicode. В противном случае могут потребоваться
дополнительные операции преобразования, зависящие от конкретного приложения.
Если эти условия не выполнены, могут потребоваться операции
преобразования, которые зависят от конкретного приложения.
Кроме того, даже если строки поддерживаются операционной
системой, при отображении могут возникнуть трудности,
например, когда смешаны языки RTL и LTR или неясно общее
направление текста.