RFC - лучший путеводитель по стандартам

ietf-logo Часто в процесе разработки какого либо приложения возникают вопрос о свойствах тех или иных объэктах, какой разделитель использовать для параметров, какая максимальная длина может быть для тех или иных параметров, например максимальная длина для E-Mail адреса - на все эти вопросы можно найти ответ в RFC докумендах.

RFC в переводе с английского означает "Запрос комментариев" (англ. Request for Comments, RFC) «Request for Comments» ещё можно перевести как «заявка на обсуждение» или «тема для обсуждения». В настоящее время первичной публикацией документов RFC занимается IETF под эгидой открытой организации Общество Интернета (англ. Internet Society, ISOC). Правами на RFC обладает именно Общество Интернета.

Максимальная длина E-Mail адреса

Так например если мы хотим выяснить максимально возможную длину для E-Mail адреса, то нам следует обратится к спецификации "Mail Transfer Protocol" воспользовавшись страницей поиска. В результате могут быть RFC стандарты с одинаковым наименованием и разным номером RFC, в таком случае следует дополнительно обращать внимание на значение в графе "Status".

Так например по нашему запросу "Mail Transfer Protocol" мы получили примерно такой результат:

Document     Title                           Date        Status 
--------------------------------------------------------------------------------
RFC 772     Mail Transfer Protocol          1980-09     RFC 772  (Unknown)
RFC 780     Mail Transfer Protocol          1981-05     RFC 780  (Unknown)
.............................
RFC 788     Simple Mail Transfer Protocol   1981-11     RFC 788  (Unknown)
RFC 821     Simple Mail Transfer Protocol   1982-08     RFC 821  (Standard)
RFC 2821    Simple Mail Transfer Protocol   2001-04     RFC 2821 (Proposed Standard)
RFC 3461    Simple Mail Transfer Protocol   2003-01     RFC 3461 (Draft Standard)

RFC документы могут иметь один из приведённых ниже статусов:

  • Unknown - Неизвестно
  • Standard - Текущий/действующий стандарт
  • Experimental - Експериментальный
  • Historic - Исторический
  • Informational - Информационный
  • Proposed Standard - Предложенный стандарт
  • Draft Standard - Проект стандарта

В нашем случае мы хотим определится с максимальной длиной E-Mail адреса, а поэтому выбираем для прочтения документ "RFC 821" описывающий стандарт "Simple Mail Transfer Protocol" и имеющий соответствующий статус "Standard", доступный по адресу http://datatracker.ietf.org/doc/rfc821/:

RFC 821 SIMPLE MAIL TRANSFER PROTOCOL
Jonathan B. Postel August 1982
 
****************************************************
*                                                  *
*  TO THE MAXIMUM EXTENT POSSIBLE, IMPLEMENTATION  *
*  TECHNIQUES WHICH IMPOSE NO LIMITS ON THE LENGTH *
*  OF THESE OBJECTS SHOULD BE USED.                *
*                                                  *
****************************************************
 
user
   The maximum total length of a user name is 64 characters.
 
domain
   The maximum total length of a domain name or number is 64
   characters.

Из документа "RFC 821" который описывает стандарт "Simple Mail Transfer Protocol" следует, что для имени E-Mail пользователя и имени E-Mail домена максимальная длина установлена в 64-е символа, а следовательно 64 + @ + 64 = 129 максимально возможная длина E-Mail адреса составляет 129 символов.

Но, если мы просмотрим документ "RFC 2821 Simple Mail Transfer Protocol" предложенный J. Klensin из AT&T Laboratories, который устарел с выходом "RFC 5321 Simple Mail Transfer Protocol", то обнаружим, что предлагается количество сомволов в имени E-Mail домена расширить до 255-ти символов:

local-part
    The maximum total length of a user name or other local-part is 64
    characters.
 
domain
    The maximum total length of a domain name or number is 255
    characters.

Возможно J. Klensin из AT&T Laboratories и мае рацию и количество сомволов в имени E-Mail домена следовало бы расширить до 255-ти символов для каких то отдельных случаев но, подумайте сами..., как вы будете набирать имя почтового домена состоящее из 255-ти символов ?:)

J. Klensin из AT&T Laboratories продвигает этот стандарт начиная с 2001-го года, последнее обновление было в 2008-м и все безуспешно но, кто знает как оно в дальнейшем будет то? Может в будущем и будут почтовики в имени E-Mail домена которых будет до 255-ти символов !;)

С взглядом в будущее максимальная длина E-Mail адреса будет равна 64 + @ + 255 = 320 символам, я решил остановится на действующем стандарте "RFC 821" 64 + @ + 64 = 129 максимально возможная длина E-Mail адреса 129 символов и с небольшим взглядом в будущее общее число символов для E-Mail адреса увеличил до 255-ти, мало ли что !:))

Ограничение длины URL-адреса

В документе RFC 2616 "Протокол HTTP/1.1" не определены требования к длине URL-адреса но, в Microsoft Internet Explorer максимальная длина URL-адреса ограничена 2083 символами. Кроме того, максимально допустимая длина пути в Internet Explorer составляет 2048 символов. Эти ограничения относятся к URL-адресам как для запросов POST, так и для запросов GET.

При использовании метода GET ограничение составляет 2048 символов за вычетом количества символов в текущем пути. В то же время метод POST не ограничен размером URL-адреса при отправке пар имя/значение. Эти пары пересылаются в заголовке, а не в URL-адресе.

Дополнительная информация

Если нужно определится со свойствами тех или иных объэктов, какой разделитель использовать для параметров, какая максимальная длина может быть для тех или иных параметров, то эту информацию следует черпать из стандартов описаных в RFC документах и не тратить попусту время на постинг подобных вопросов на различных форумах, сайтах, wikipedia-х и т.д. - RFC документы должны стоять на первом месте.

Потому как в настоящее время первичной публикацией документов RFC занимается IETF, то соответственно самую свежую и достоверную информацию о RFC стандартах интернета следует черпать именно из этого источника, а не откуда попало.

Далее небольшой список ссылок на полезные RFC стандарты:

Автор: Олег Головский


Добавить комментарий


Защитный код
Обновить

2 megabytes