멱등성 (Idempotency)과 안전한 메서드 (Safe Methods)의 비교

멱등성과 안전한 메서드는 HTTP 메서드의 중요한 특성으로, 서버의 상태 변화와 관련이 있다.

멱등성(Idempotency)은 동일한 요청을 여러 번 수행해도 서버의 상태가 동일하게 유지되는 특성을 말한다.
즉, 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 유지된다.

안전한 메서드(Safe Methods)는 서버의 상태를 변경하지 않는 HTTP 메서드를 의미한다.
이는 주로 리소스를 조회하는 용도로 사용되며, 서버의 데이터나 상태를 수정하지 않는다.

특성멱등성안전한 메서드
정의동일한 요청을 여러 번 수행해도 서버의 상태가 같음서버의 상태를 변경하지 않음
서버 상태 변경변경 가능, 단 여러 번 수행해도 결과가 같아야 함변경하지 않음
해당하는 HTTP 메서드GET, HEAD, PUT, DELETE, OPTIONS, TRACEGET, HEAD, OPTIONS
관계모든 안전한 메서드는 멱등성을 가짐안전한 메서드는 항상 멱등성을 가짐
주요 목적네트워크 오류 시 안전한 재시도 가능서버 상태 보호 및 캐싱 최적화
예시PUT: 리소스 대체, 여러 번 실행해도 결과 동일GET: 리소스 조회, 서버 상태 변경 없음

멱등성을 가진 메서드가 반드시 안전한 것은 아니다.
예를 들어, PUT과 DELETE는 멱등성은 있지만 안전하지 않다.
반면, 모든 안전한 메서드는 멱등성을 갖는다.


참고 및 출처