백엔드 면접 질문

HTTP 메서드에서 멱등성(Idempotent)이란 무엇인가요?

Griotold 2025. 1. 3. 11:01

1. 멱등성(Idempotent)이란

 

HTTP 메서드의 멱등성이란 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고,

서버의 상태도 동일하게 남는 특성을 말한다.

즉, 요청을 여러 번 실행해도 결과가 같아 안전하게 사용할 수 있는 성질이다.

 

 

2. 멱등성을 가진 HTTP 메서드

 

  • GET: 리소스를 조회하는 메서드로, 여러 번 요청해도 동일한 결과를 반환한다.
  • HEAD: GET과 유사하지만 응답 본문을 제외한 헤더만 반환한다.
  • PUT: 리소스를 수정하는 메서드로, 같은 데이터로 여러 번 요청해도 결과는 동일하다
  • DELETE: 리소스를 삭제하는 메서드로, 여러 번 요청해도 서버의 상태는 동일하다.
  • OPTIONS: 서버가 지원하는 메서드 정보를 반환한다.

 

3. 멱등성을 가지지 않는 HTTP 메서드

 

  • POST: 새로운 리소스를 생성하는 메서드로, 요청할 때마다 새로운 리소스가 생성되어 서버의 상태가 변경된다.
  • PATCH: 리소스의 일부를 수정하는 메서드로, 구현 방식에 따라 멱등할 수도 있고 아닐 수도 있다.

 

4. 멱등성은 어떻게 활용될 수 있는가?

 

HTTP 요청이 멱등하다면 요청에 실패했을 경우 요청을 재시도해도 된다.

멱등하다면 요청을 재시도할 때 같은 서버의 상태를 보장하기 때문에 문제가 없다.

멱등하지 않다면 재시도 요청시 중복 요청을 보내 문제를 발생시킬 수 있다.

 

References

https://www.maeil-mail.kr/question/90

https://mangkyu.tistory.com/251

https://endmemories.tistory.com/19

https://imkdk.tistory.com/30