RFC 2119

Опубликовано: 10 апреля 2014      Перевод:

Перевод документа: RFC 2119.

Рабочая группа по информационно вычислительным сетям.
Запрос на обсуждение: 2119
BCP: 14
Категория: Текущая передовая практика.
S. Bradner
Гарвардский Университет.
Март 1997 г.

Ключевые слова, используемые в RFC документах для индикации уровня требования.

Статус данной пояснительной записки.

Этот документ определяет «Передовые действующие практики Интернета» для Интернет сообщества и обращается с просьбой к обсуждению и предложениям по данному документу с целью его улучшения. Распространение этой пояснительной записки неограниченно.

Аннотация.

Во многих отслеживающих стандарты документах определенные слова используются для подчеркивания уровня требований спецификаций. Эти слова, как правило, пишутся заглавными буквами. Данный документ определяет то, как эти слова должны интерпретироваться в IETF документах. Авторам, придерживающимся данного руководства, в начало своих документов следует включать следующее выражение:

Используемые в этом документе ключевые слова "ДОЛЖЕН", "НЕ ДОЛЖЕН", "ТРЕБУЕТСЯ", "ОБЯЗАН", "НЕ ОБЯЗАН", "СЛЕДУЕТ", "НЕ СЛЕДУЕТ", "РЕКОМЕНДУЕТСЯ", "МОЖЕТ" и "НЕОБЯЗАТЕЛЬНО" должны интерпретироваться так, как это описано в RFC 2119.
Значимость этих слов варьируется в зависимости от степени важности требований документа, в рамках которого они используются.
  1. ДОЛЖЕН
    Это слово, а также термины "ТРЕБУЕТСЯ" или "ОБЯЗАН" означают, что определение носит статус абсолютного требования в спецификации.
  2. НЕ ДОЛЖЕН
    Эта или подобная ей фраза "НЕ ОБЯЗАН" означают, что определение является абсолютным запретом в спецификации.
  3. СЛЕДУЕТ
    Это слово или схожее с ним "РЕКОМЕНДУЕТСЯ" говорят о том, что могут иметь место реальные причины, а точнее обстоятельства, позволяющие игнорировать определенный вопрос, однако в ходе принятия альтернативного решения необходимо тщательно взвешивать все возможные последствия такого выбора.
  4. НЕ СЛЕДУЕТ
    Данная фраза и выражение "НЕ РЕКОМЕНДУЕТСЯ" говорят о том, что есть вероятность существования реальных причин, а точнее обстоятельств, при которых определенное поведение вполне оправдано или даже рационально, однако до того как описываемое с использованием этих слов поведение будет реализовано, необходимо тщательно взвесить все возможные последствия такого выбора.
  5. МОЖЕТ
    Это слово и наречие "НЕ ОБЯЗАТЕЛЬНО" означает, что соответствующий компонент на самом деле является опциональным. Одни разработчики могут счесть этот компонент необходимым по причинам, вызванным условиями определенного рынка сбыта или включить его в состав своего продукта с целью повышения производительности, в то время как другие разработчики могут пренебречь этим компонентом. Реализации, не предусматривающие включение определенного компонента, ДОЛЖНЫ быть готовы к взаимодействию с другой реализацией, в которую этот компонент включен, даже в ущерб своей функциональности. Аналогичным образом реализация, использующая определенный компонент ДОЛЖНА быть готова к взаимодействию с другой реализацией, в которой поддержка этого компонента отсутствует (это взаимодействие, конечно же, не касается функционала, предоставляемого данным компонентом).
  6. Руководство по использованию этих императив.

    Определенные ранее в данной пояснительной записке императивы необходимо применять с осторожностью и лишь при необходимости. А точнее, они ДОЛЖНЫ использоваться только там, где это в действительности необходимо для обеспечения функционального взаимодействия или ограничения действий, которые потенциально могут иметь негативные последствия (например, предотвращение повторных передач). К примеру, они не должны применяться для того чтобы навязать разработчикам использование определенного метода в рамках своей реализации, если это не обусловлено требованиями функционального взаимодействия с другими реализациями.

  7. Вопросы безопасности.

    Рассматриваемые термины зачастую используются при определении вопросов, относящихся к безопасности. Различия между возможными последствиями от пренебрежения в области безопасности такими терминами как ДОЛЖЕН или СЛЕДУЕТ или же предостережениями спецификации о том, что определенные действия НЕ ДОЛЖНЫ или НЕ РЕКОМЕНДУЕТСЯ выполнять, могут быть очень незначительными. Поэтому авторам документов следует уделять достаточно времени тщательному изучению возможных последствий не соблюдения рекомендаций или требований в области безопасности, поскольку большинство разработчиков не будут заинтересованы в практических вопросах и дискуссиях, на основе которых построены соответствующие фрагменты спецификации.

  8. Благодарности.

    Определения данных терминов являются амальгамой формулировок, взятых из ряда других RFC документов. В дополнение к этому, были учтены рекомендации ряда личностей, включая Роберта Ульмана (Robert Ullmann), Томаса Нартена (Thomas Narten), Нила Мак Барнетта (Neal McBurnett) и Роберта Эльза (Robert Elz).

  9. Контактная информация автора документа.

    Scott Bradner
    Harvard University
    1350 Mass. Ave.
    Cambridge, MA 02138

    phone — +1 617 495 3864

    email — sob@harvard.edu