← 질문 목록
#266깊이 0
HTTP 메서드 선택 기준은 무엇인가?
리소스의 상태를 변경하는지, 요청이 멱등한지를 기준으로 선택한다.
| 기준 | GET | POST | PUT | PATCH | DELETE |
|---|---|---|---|---|---|
| 상태 변경 | 없음 | 있음 | 있음 | 있음 | 있음 |
| 멱등성 | 멱등 | 비멱등 | 멱등 | 비멱등 | 멱등 |
GET은 조회 목적이며 서버 상태를 바꾸지 않는다. 캐싱이 가능해 응답 속도를 높일 수 있다.
POST는 새로운 리소스를 생성하거나 서버의 상태를 변경할 때 쓴다. 요청할 때마다 결과가 달라질 수 있어 비멱등하다.
PUT은 리소스를 전체 교체한다. 동일한 요청을 여러 번 보내도 결과가 같으므로 멱등하다.
PATCH는 리소스의 일부만 수정한다. 구현 방식에 따라 멱등할 수도, 비멱등할 수도 있어 주의가 필요하다.