Coding 01

HTTP 메서드에서 멱등성이란? 본문

기술면접

HTTP 메서드에서 멱등성이란?

하루우울루 2024. 12. 27. 10:18

먼저 멱등성이란 연산을 여러번 적용하더라도 결과가 달라지지 않는 성질을 말한다.

HTTP 메서드 멱등성은 동일한 요청을 한번 보내는 것과 여러번 보내는 것이 서로 동일한 효과를 가지며, 서버의 상태도 동일하게 남을 경우 멱등하다고 이야기 한다.

특정 요청을 여러 번 실행하더라도 결과가 달라지지 않는다는 것이다.

 

대표적으로 멱등한 메서드는 GET, HEAD, PUT, DELETE, TRACE, OPTIONS가 있다.

GET: 리소스를 조회만 하므로 몇 번을 요청하더라도 서버 상태가 변경되지 않는다.

PUT: 리소르를 완전히 대체하므로, 동일한 요청을 여러 번 보내도 결과는 같다.

DELETE: 리소스를 삭제하는데, 이미 삭제된 리소스를 다시 삭제해도 상태는 동일하다.

HEAD: GET과 동일하게 조회만 수행한다.

 

멱등성이 없는 메서드로는

POST, PATCH가 있다.

POST: 새로운 리소스를 생성하므로, 요청할 때마다 서버의 상태가 변경된다.

PATCH: 리소스의 부분적인 수정을 수행하고, 수정 방식에 따라 매번 다른 결과가 나올 수 있다.

 

멱등성은 네트워크 오류가 발생했을 때 중요하다. 클라이언트가 응답을 받지 못했을 경우, 멱등성이 보장된다면 안전하게 몇 번이라도 재시도를 할 수 있기 때문이다.

클라이언트가 같은 요청을 할 수 있는가의 판단 여부가 될 수 있기 때문에 멱등성을 확인하는 것이 중요하다고 할 수 있다.

'기술면접' 카테고리의 다른 글

private 메서드와 @Transactional  (0) 2025.01.03
CORS  (1) 2025.01.02
단위 테스트와 통합 테스트의 차이  (0) 2024.12.23
공유 락과 베타 락에 대해서  (1) 2024.12.21
동기와 비동기  (0) 2024.12.20