요구 수준은 규약에서 어떤 사항을 반드시 지켜야 하고 어떤 사항은 선택할 수 있는지 구분하는 강도다. 인터넷 규약에서는 RFC 2119와 이를 보완한 RFC 8174의 대문자 키워드를 널리 쓴다. 적용 문서가 이 뜻을 채택한다고 밝혔을 때 해석의 기준이 된다. ([RFC 2119](https://www.rfc-editor.org/rfc/rfc2119.txt), [RFC 8174](https://www.rfc-editor.org/rfc/rfc8174.txt)) ## 의무와 권고 - `MUST`와 `REQUIRED`는 반드시 지켜야 하는 요구다. `MUST NOT`은 금지다. - `SHOULD`는 타당한 예외가 있을 수 있지만, 어길 때의 영향을 이해하고 신중히 판단해야 하는 권고다. - `MAY`와 `OPTIONAL`은 선택 사항이다. 어떤 구현이 이를 제공하지 않더라도 함께 작동할 조건을 고려해야 한다. 이 단어들은 상호운용이나 피해 방지에 필요한 곳에 신중하게 써야 한다. 작성자의 선호를 전부 필수 조건으로 만들기 위한 장치는 아니다. [[편집 지침]]에 응용한다면 ‘필수’와 ‘권장’을 구분하고 예외를 판단할 기준도 함께 적을 수 있다. [[컨벤셔널 커밋]]처럼 다른 규격을 읽을 때도 요구의 강도를 구분하는 데 도움이 된다. ([RFC 2119의 사용 지침](https://www.rfc-editor.org/rfc/rfc2119.txt)) ## 기타 등등 - 1997년의 RFC 2119를 보완한 RFC 8174는 2017년에 나왔다. 특별한 뜻을 적용하는 대상이 대문자 키워드임을 명확히 했다. [출처](https://www.rfc-editor.org/rfc/rfc8174.txt) - RFC 8174는 규범적인 내용이 반드시 이 키워드를 사용해야 하는 것은 아니라고 밝힌다. 대문자가 없다는 이유만으로 [[규범 문장]]이 모두 설명문이 되지는 않는다. [출처](https://www.rfc-editor.org/rfc/rfc8174.txt) #규칙 #표준 #글쓰기