멱등성(Idempotence)은 같은 연산을 여러 번 적용해도 한 번 적용한 뒤의 결과가 더 변하지 않는 성질이다. HTTP에서는 동일한 요청을 반복했을 때 서버에 의도한 효과가 한 번의 요청과 같은지를 따진다. 응답을 받기 전에 연결이 끊겼을 때 요청을 다시 보내도 되는지 판단하는 데 쓰인다. (RFC 9110의 멱등성 정의)
- 예를 들어 편집기의 너비 값을
800으로 설정하는 연산은 같은 설정을 반복해도800이다. 현재 너비에10을 더하는 연산은 반복할 때마다 달라진다. 여기서는 파일을 실제로 다시 압축하는 과정이 아니라 너비라는 값의 설정만 비교한다. - 자료를 가져오는 기능에서도 같은 레코드를 재전송할 때 새 항목을 계속 만드는지, 같은 식별자의 항목을 갱신하는지에 따라 결과가 달라진다. 지속 식별자와 중복 처리 규칙은 이러한 재시도를 설계할 때 함께 검토할 수 있다.
- 반복해도 효과가 같다는 것과 실행 전으로 되돌릴 수 있다는 것은 다르다. 삭제를 여러 번 요청해도 삭제 상태는 같지만, 복구에는 백업 같은 별도의 수단이 필요하다. 가역성과 멱등성은 서로 다른 질문이다.