멱등성 : 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
HTTP메서드의 멱등성 : 동일한 요청을 여러번 보내도 서로 동일한 효과를 지니며, 서버의 상태도 동일하게 남는 경우
> 멱등한 메서드 : GET, HEAD, PUT, DELETE, TRACE, OPTIONS
프로젝트에서 멱등성을 활용할 수 있는 경우는?
모종의 이유로 커넥션이 끊어졌을때, 멱등성은 클라이언트가 동일한 요청을 다시 보내도 되는지 쉽게 파악할 수 있다.
예를 들어,
사용자가 결제 타이밍에 정상 응답을 받지 못할 경우 > 멱등하지 않은 API는 결제 성공 여부를 수동으로 파악
> 멱등한 API는 안심하고 여러번 요청 가능
-----
🌐 1. REST API에서 주로 사용하는 HTTP 메서드
메서드설명REST 의미비고
| GET | 리소스를 조회 | 조회(Read) | 서버의 상태나 데이터를 가져올 때 사용 |
| POST | 리소스를 생성 | 생성(Create) | 보통 새 리소스를 만들 때 사용 |
| PUT | 리소스를 전체 수정 | 수정(Update) | 리소스를 전체 덮어씌움 (idempotent) |
| PATCH | 리소스를 일부 수정 | 수정(Update) | 리소스의 일부분만 수정 |
| DELETE | 리소스를 삭제 | 삭제(Delete) | 리소스 제거 |
💡 idempotent(멱등성): 동일 요청을 여러 번 해도 같은 결과가 나오는 성질 → GET, PUT, DELETE는 멱등적입니다.
🛠️ 2. REST API 외에 자주 사용되지는 않지만 중요한 HTTP 메서드
✅ HEAD
- 설명: GET과 동일하지만 응답 본문(body)은 없음
- 용도: 리소스의 메타데이터 확인 (예: Content-Length, Last-Modified 등)
- 예시: 다운로드 전에 파일 크기를 확인하고 싶을 때
🔍 TRACE
- 설명: 서버에서 요청을 그대로 반사(loopback)하여 응답
- 용도: 클라이언트와 서버 사이의 통신 경로를 디버깅할 때
- 주의: 보안상 위험할 수 있어서 대부분 서버에서 비활성화됨
⚙️ OPTIONS
- 설명: 해당 리소스에서 지원하는 HTTP 메서드 목록 반환
- 용도: 서버가 어떤 메서드를 허용하는지 확인할 때
- 예시: 브라우저에서 CORS 사전 요청(Preflight Request) 시 사용
'cs(with 매일메일)' 카테고리의 다른 글
| [251017금] MySQL InnoDB에서 갭락과 넥스트키 락이란 무엇이며, 어떻게 팬텀 리드를 방지하나요? (0) | 2025.10.17 |
|---|---|
| [251016목] 데이터베이스 시스템에서 동시성을 제어하는 방법에 대해 설명해주세요. (0) | 2025.10.16 |
| [251003금] 동기 방식으로 외부 서비스를 호출할 때 외부 서비스 장애가 나면 어떻게 조치할 수 있나요? (0) | 2025.10.14 |
| [251002목] @Component, @Controller, @Service, @Repository의 차이점에 대해서 설명해주세요 (0) | 2025.10.14 |
| [251001수] 동일성과 동등성에 대해서 설명해주세요 (0) | 2025.10.14 |