Methods

메서드는 동작뿐 아니라 재시도 가능성까지 말한다

안전성은 “클라이언트가 의도한 의미상 서버 상태를 바꾸지 않음”, 멱등성은 “같은 요청을 여러 번 보내도 의도한 결과가 같음”을 뜻합니다. 재시도, 캐시, API 설계의 기준이 됩니다.

GET, HEAD, OPTIONS는 안전한 메서드로 분류됩니다.
PUT과 DELETE는 안전하지 않지만 멱등으로 설계됩니다.
PATCH는 패치 문서와 서버 설계에 따라 멱등일 수도 있습니다.
안전함
상태 변경 의도 없음
안전하지 않음
상태 변경 가능
멱등
Safe + Idempotent

조회 계열

여러 번 호출해도 의도한 서버 상태가 바뀌지 않아야 합니다.

GETHEADOPTIONS
Idempotent

대체·삭제 계열

상태는 바꾸지만 같은 요청을 반복해도 최종 의도 결과가 같습니다.

PUTDELETE
비멱등 또는 조건부
주의

GET 본문

문법상 content가 완전히 불가능한 것은 아니지만 일반 의미가 정의되지 않아 피합니다.

Non-idempotent

처리·부분 변경

POST는 보통 비멱등입니다. PATCH는 증가 연산이면 비멱등, 값 지정이면 멱등일 수 있습니다.

POSTPATCH