Пять критериев универсального принятия

Универсальное принятие — состояние, когда все интернет-ориентированные приложения, устройства и системы правильно и единообразно принимают, проверяют, хранят, обрабатывают и отображают все корректные доменные имена и адреса электронной почты.

Пять основных критериев универсального описаны ниже.

Принятие

Принятие это процесс получения адреса электронной почты или доменного имени в виде строки символов из пользовательского интерфейса, файла или API, используемого приложением или интернет-сервисом.

Приложения и сервисы должны принимать следующие доменные имена и адреса электронной почты:

  • введенные через пользовательские интерфейсы или
  • полученные из других приложений и сервисов через API.

Проверка

Проверка может выполняться во многих местах при получении или создании адреса электронной почты или доменного имени в виде строки символов приложением или интернет-сервисом.

Цель проверки — убедиться, что введенная информация является допустимой или, по крайней мере, определенно не является недопустимой. Проверка гарантирует синтаксическую правильность информации. Могут проводиться и другие проверки.

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

  • Доменные имена и адреса электронной почты теперь могут содержать символы Unicode не из набора ASCII.
  • Список TLD меняется.
  • Любая метка в доменном имени, включая метку TLD, может содержать до 63 символов.

Сохраняется возможность проверять TLD с помощью других методов, как описано ниже.

Хранение

Хранение — этап, когда адрес электронной почты или доменное имя хранится в виде строки символов в базе данных или файле, используемом приложением или интернет-сервисом, а затем извлекается тем же самым или другим приложением.

Приложениям и сервисам может требоваться долговременное и/или кратковременное хранение доменных имен и адресов электронной почты. Независимо от периода существования данных, они должны храниться:

  • в форматах, соответствующих интернет-стандартам Запрос комментариев (RFC), или (что менее желательно)
  • в других форматах, позволяющих выполнить преобразование в форматы, соответствующие RFC. Хотя Unicode в именах DNS и адресах электронной почты хранится как UTF-8, в устаревшем коде могут встречаться другие форматы (См. раздел «Передовой опыт»).

Обработка

Обработка выполняется, когда адрес электронной почты или доменное имя используется приложением или сервисом для выполнения действия (например, поиска или сортировки списка) или преобразуется в альтернативный формат (например, при преобразовании U-меток в A-метки).

Во время обработки может осуществляться дополнительная проверка. Способы обработки адресов электронной почты и доменных имен ограничиваются только фантазией разработчиков приложений, но важно не делать предположений (например, что электронное письмо на имя pākehā@tetaurawhiri.govt.nz адресовано получателю в Новой Зеландии), которые зависят от политики, выходящей за рамки DNS.

Отображение

Отображение происходит, когда адрес электронной почты или доменное имя обрабатывается в пользовательском интерфейсе.

При отображении доменных имен и адресов электронной почты обычно, но не всегда, не возникает затруднений, если используемые в имени или адресе алфавиты поддерживаются операционной системой, а строки хранятся в Unicode. Если эти условия не выполнены, могут потребоваться операции преобразования, которые зависят от конкретного приложения. Кроме того, даже если строки поддерживаются операционной системой, при отображении могут возникнуть трудности, например, когда смешаны языки RTL и LTR или неясно общее направление текста.