멱등(idempotent)은 같은 요청을 한 번 보내든 여러 번 보내든 서버의 최종 상태가 동일하게 유지되는 성질입니다.
GET·PUT·DELETE·HEAD는 멱등으로 정의되고, POST는 일반적으로 멱등이 아닙니다.
핵심 오해는 '멱등 = 안전(safe)'이라는 착각입니다. 멱등은 '반복해도 결과 상태가 같다'는 뜻이지 '상태를 바꾸지 않는다'는 뜻이 아닙니다. 예를 들어 `DELETE /users/42`는 상태를 바꾸지만(사용자를 지움) 두 번 호출해도 결과는 '42가 없음'으로 같으므로 멱등입니다. `PUT /users/42`로 전체 리소스를 특정 값으로 덮어쓰는 것도 몇 번을 하든 같은 값이 되므로 멱등입니다. 반면 `POST /users`는 호출할 때마다 새 사용자가 생겨 멱등이 아닙니다.
멱등성은 신뢰성 있는 재시도의 근거가 됩니다. 네트워크 타임아웃으로 응답을 못 받았을 때 멱등 요청은 안심하고 재전송할 수 있습니다. 반대로 결제·주문 같은 비멱등 POST를 안전하게 재시도하려면 'Idempotency-Key' 헤더로 서버가 중복을 식별하게 하는 패턴을 씁니다. (참고: 실무에서 PATCH는 구현에 따라 멱등일 수도, 아닐 수도 있습니다.)