Skip to content

Instantly share code, notes, and snippets.

@disjukr
Created May 22, 2013 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save disjukr/5627875 to your computer and use it in GitHub Desktop.
Save disjukr/5627875 to your computer and use it in GitHub Desktop.

원문: Key words for use in RFCs to Indicate Requirement Levels

RFC의 필요수준 표시에 사용하기 위한 키워드들

메모의 상태

이 문서는 인터넷 커뮤니티의 최상 현행 규정을 정의하고, 개선을 위해 토론과 제안을 요청합니다. 이 문서의 배포에는 아무런 제약이 없습니다.

개요

많은 표준 문서에서 발견할 수 있는 대문자로 표시된 단어들 중 일부는 명세의 요구수준을 의미하는 용도로 사용됩니다. 이 문서는 IETF 문서에서 사용되는 이 단어들을 어떻게 해석해야 할지 정의합니다. 이 가이드라인을 따르는 저자들은 다음의 구절을 그들의 문서의 앞부분에 통합하여야 합니다:

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", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL" 등은 RFC 2119에서 기술된 대로 해석됩니다.

이 단어들의 힘은 그들이 사용되는 문서의 요구수준에 따라 달라짐을 주의하십시오.

1. MUST: 이 단어나 용어 "REQUIRED", "SHALL"은 해당 명세에 그 정의가 절대요구사항임을 의미합니다.

2. MUST NOT: 이 구나 "SHALL NOT" 구는 해당 명세에 그 정의가 절대적으로 금지됨을 의미합니다.

3. SHOULD: 이 단어나 형용사 "RECOMMENDED"는 특정상황에 그 정의를 무시할만한 이유가 존재할 수 있으나, 다른 코스를 선택할 때는 함축된 바를 충분히 이해하고 조심해야 함을 의미합니다.

4. SHOULT NOT: 이 구나 "NOT RECOMMENDED" 구는 특정상황에 적용 가능하거나 심지어 유용할만한 이유가 존재할 수 있으나, 그 정의에 기술된 대로 구현하기 전에 함축된 바를 충분히 이해하고 조심해야 함을 의미합니다.

5. MAY: 이 단어나 형용사 "OPTIONAL"은 정말로 선택적임을 의미합니다. 어떤 벤더(vendor)가 시장이 필요로 하기 때문이라거나 제품을 강화하기 위해 다른 벤더에는 없는 구현을 집어넣을 수 있습니다. 특정 옵션(option)을 포함하지 않는 구현은 기능이 줄어들지라도 무조건(MUST) 옵션을 포함하는 다른 구현과의 상호운용에 대비해야 합니다. 특정 옵션을 포함하는 같은 맥락의 구현이라면 무조건(MUST) 특정 옵션을 포함하지 않는 다른 구현과의 상호운용에 대비해야 합니다 (물론, 미래에 옵션이 제공할 특징들은 제외합니다.)

6. 이 명령문들의 사용에 대한 안내

이 메모에서 정의된 명령문들은 가끔씩 조심스럽게 사용되어야 합니다. 특히 그 것들은 무조건(MUST) 상호운용을 위해 실제로 필요하거나 문제의 원인이 될 가능성이 있는 행동을 제한하기 위해서만 (예시: 재전송 제한) 사용되어야 합니다. 예를 들면, 그들은 상호운용에 필요하지 않은 메서드(method)를 구현하는 사람에 의해 특정 메서드에 도입되어서는 안됩니다.

7. 보안 고려사항

이 약관은 보안 함의된 행동을 정의하는데에 자주 사용됩니다. MUST나 SHOULD를 구현하지 않은 보안이나, MUST NOT이나 SHOULD NOT을 언급한 명세는 의미가 두루뭉실해지는(subtle) 효과가 있습니다. 문서 저자는 권장사항이나 경험이 없는 대부분의 구현자들의 요구사항들을 따르지 않는 보안 시사점을 정교하게 다듬고 만들어진 명세서에 대한 토론에 시간을 투자해야 합니다.

8. 감사의 말

이 약관의 정의는 많은 RFC 문서들로부터 가져온 정의들을 섞은 것입니다. 게다가 제안들은 Robert Ullmann, Thomas Narten, Neal McBurnett와 Robert Elz를 포함한 많은 사람들로부터 통합되었습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment