본문 바로가기

.주제별

RFC2119 - MUST, SHOULD, MAY, SHALL + NOT 차이

흔히 어느 스펙을 명시하고 있는 표준문서들을 보면 다음과 같은 문구가 나오는 것을 알 수 있다.

"

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 [RFC2119]

"

자자 그럼 이건 어디서 나오는 말들일까?

 

RFC (Request For Comments) 문서 2119번을 보자.

(자세한 것은 여기 참고^^)

 

* MUST : REQUIRED, SHALL과 마찬가지로 '해당 정의가 표준에서 절대적으로 요구된다는 것'

* MUST NOT : SHALL NOT과 마찬가지로, '해당 정의가 표준에서 절대적으로 금기시 된다는 것'

* SHOULD : RECOMMENDED 와 유사한 뜻으로,

                  특정 상황에서는 해당 정의가 무시될수도 있지만,

                   이런 상황이라도 충분히 고려해야 한다는 것

* SHOULD NOT : NOT RECOMMENDED 와 유사한 뜻으로,

                  특정 상황에서는 해당 정의가 유용하거나 받아들일 수도 있지만,

                  이런 상황이라도 충분히 고려해야 한다는 것

* MAY : OPTIONAL 와 유사한 뜻으로, 시장 상황에따라, 제품성능 향상을 위해서

             선택할 수 있다는 뜻

           

@ SHOULD 가 약간 아리까리 하군