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
'백엔드 면접 질문' 카테고리의 다른 글
웹 브라우저에 www.google.com 을 입력했을 때 어떤 과정이 이뤄지나요? (0) | 2024.12.31 |
---|---|
데이터베이스 커넥션 풀(Connection Pool)을 사용하지 않으면 어떤 문제가 발생할 수 있나요? (0) | 2024.12.26 |
동일성과 동등성에 대해서 설명해주세요. (0) | 2024.12.17 |
equals와 hashCode는 왜 함께 재정의 해야 하나요? (0) | 2024.12.16 |
JPA에서 ID 생성 전략에 대해서 설명해주세요. (1) | 2024.12.07 |