HTTP 메서드 멱등성

minisoo·2023년 11월 15일
0

멱등성이란

동일한 연산을 여러번 적용하더라도 결과가 변하지 않는 특성

HTTP에서 멱등성은 동일한 요청을 여러번 연속으로 보내도 서버의 상태가 동일하게 남을 때 해당 메서드가 멱등성을 가졌다고 말할 수 있다.

GET

멱등 O
같은 요청을 N번 해도 서버로부터 같은 결과가 조회됨

POST

멱등 X
같은 요청을 여러번 보내는 경우 매번 새로운 리소스가 생길 수 있다. 이는 서버의 상태가 변경됨을 의미한다

PUT

멱등 O
새로운 리소스를 추가하거나 대상 리소스를 덮어쓰게 되는데, 여러번 요청해도 서버의 최종 결과물은 동일하게 된다.
서버가 응답 상태코드는 201, 204로 달라질 수 있지만 서버의 최종 결과물이 동일하기 때문에 멱등성을 가졌다고 할 수 있다

PATCH

멱등 X
리소스의 일부를 수정하는 메서드로 멱등으로 설계할 수도 있지만, 멱등이 아니게도 설계할 수 있다
해당 메서드를 한번 호출할 때마다 특정 컬럼의 값을 더하는식으로 설계하게 되면, 멱등이 아니게 되지만
수정할 리소스의 일부분만 담아서 요청하는 경우에는 멱등성이 보장된다.


HTTP의 멱등성

profile
코딩하는 돌멩이 👻

0개의 댓글