RFC 2119 요구수준을 지시하는 키워드

비공식 번역입니다. 문서의 내용에 차이가 존재하는 경우 원본을 따릅니다.

정의

이 문서는 인터넷 커뮤니티를 위한 인터넷 모범 사례를 명시하고 개선을 위한 토론과 제안을 요청합니다. 이 메모의 배포에는 제한이 없습니다.

Abstract

많은 표준 추적 문서는 사양의 요구 사항을 나타내기 위한 여러 단어를 사용합니다. 이러한 단어들은 대문자로 표시되는 경우가 많습니다. 이 문서에서는 IETF 문서에서 해석되어야 하는 대로 각 단어를 정의합니다. 이 지침을 따르는 저자는 문서 시작 부분에 다음 문구를 포함해야 합니다.

이 문서에서 핵심이 되는 단어는 “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, “OPTIONAL” 입니다. 이것은 RFC 2119 에서 정의한 뜻과 내용을 기준으로 합니다.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

각 단어의 강제 사항은 정의가 사용되는 문서의 요구 수준에 따라 변경됩니다.

MUST, REQUIRED, SHALL

해당 단어는 지정된 항목이 필수적인 요구 사항임을 의미합니다.

MUST NOT, SHALL NOT

해당 단어는 지정된 항목이 필수적인 금지 사항임을 의미합니다.

SHOULD, RECOMMENDED

해당 단어는 지정된 항목을 일반적으로 권장하며 예외 상황에서 지정된 항목을 무시할 타당한 이유가 존재할 가능성을 열어 두고 있지만, 동작을 구현하기 이전에 지정된 항목이 요구하는 전체 의미를 이해하고 신중하게 평가해야 함을 의미합니다.

SHOULD NOT

해당 단어는 지정된 항목을 일반적으로 지양하며 예외 상황에서 지정된 항목을 수행할 타당한 이유가 존재할 가능성을 열어 두고 있지만, 동작을 구현하기 이전에 항목이 요구하는 전체 의미를 이해하고 신중하게 평가해야 함을 의미합니다.

MAY, OPTIONAL

해당 단어는 지정된 항목을 선택적으로 구현 가능함을 의미합니다. 특정 공급업체는 해당 항목의 기능을 요구하거나 기능의 향상을 위해 선택할 수 있지만 다른 공급업체는 동일한 항목의 구현을 생략할 수도 있습니다. 구현의 여부는 필요에 의해 선택 가능합니다. 지정된 항목을 포함하지 않는 구현은 기능이 축소될 수 있지만 반드시(MUST) 항목을 포함하는 다른 구현과 상호 운용 가능하도록 준비해야 합니다. 같은 맥락에서 지정 항목을 포함하는 구현은 반드시(MUST) 항목을 포함하지 않는 다른 구현과 상호 운용 가능하도록 준비해야 합니다.
단, 항목이 개별로 제공하는 기능은 예외로 합니다.

필수 사항의 사용에 대한 지침

이 메모에 정의된 항목은 주의해서 사용해야 합니다. 반드시(MUST) 상호 운용에 실제로 필요한 경우 또는 해를 끼칠 가능성이 있는 동작을 제한하는 경우에만 사용해야 합니다(예: 재전송 제한). 상호 운용성을 위하여 메서드가 필요하지 않은 구현자에게 특정 메서드를 강요하는 데 사용해서는 안 됩니다(MUST NOT).

보안 고려 사항

이러한 용어는 보안에 영향을 미치는 동작을 지정하는 데 자주 사용됩니다. MUST 또는 SHOULD를 구현하지 않거나 사양에 명시된 MUST NOT 또는 SHOULD NOT을 수행하는 경우 보안에 미치는 영향은 매우 미묘할 수 있습니다. 대부분의 구현자는 사양을 생성한 경험과 토론의 이점을 얻지 못했기 때문에 문서 작성자는 권장 사항이나 요구 사항을 따르지 않을 경우 보안에 미치는 영향을 자세히 설명하는 데 시간을 투자해야 합니다.

감사의 말

이러한 용어의 정의는 여러 RFC에서 가져온 정의를 혼합한 것입니다. 또한 Robert Ullmann, Thomas Narten, Neal McBurnett 및 Robert Elz를 비롯한 여러 사람들의 제안이 반영되었습니다.

S. Bradner. “Key words for use in RFCs to Indicate Requirement Levels”. RFC2119, March 1997. https://datatracker.ietf.org/doc/html/rfc2119. accessed 9 Sep 2023.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다