HTTP 메서드 정리: GET, POST 말고도 뭐가 있을까?
IT/Server
2025. 12. 25. 22:34
HTTP 메서드는 클라이언트가 서버에 “무엇을 하고 싶은지”를 명확하게 전달하기 위한 규칙이다.
URL이 “대상(Resource)”이라면, HTTP 메서드는 “행위(Action)”를 의미한다.
우리가 흔히 사용하는 GET, POST 외에도 OPTIONS, HEAD, PATCH 같은 메서드들이 있으며
이들은 성능, 보안, CORS 처리에서 중요한 역할을 한다.

────────────────────────────
주요 HTTP 메서드
────────────────────────────
GET
- 리소스를 조회할 때 사용
- 서버 상태를 변경하지 않는다
- 캐싱 가능
예)
GET /users/1
POST
- 리소스를 생성할 때 사용
- 서버 상태 변경 발생
예)
POST /users
PUT
- 리소스를 전체 수정
- 해당 리소스가 없으면 생성될 수도 있음
- “전체 교체” 개념
예)
PUT /users/1
PATCH
- 리소스의 일부만 수정
- PUT보다 네트워크 효율이 좋음
- 실무에서 가장 많이 쓰이는 수정 방식
예)
PATCH /users/1
DELETE
- 리소스를 삭제
예)
DELETE /users/1
────────────────────────────
덜 알려졌지만 중요한 HTTP 메서드
────────────────────────────
HEAD
- GET과 동일하지만 응답 Body가 없다
- 리소스의 존재 여부, 용량, 캐시 확인용
예)
HEAD /users/1
주요 사용 사례
- 파일 다운로드 전에 용량 확인
- API 서버 헬스 체크
OPTIONS
- 해당 리소스에서 허용된 HTTP 메서드를 조회
- CORS 사전 요청(preflight)에 사용
예)
OPTIONS /users
응답 예)
Allow: GET, POST, PATCH
주요 사용 사례
- 브라우저가 서버에 요청 가능한지 사전 확인
- CORS 에러의 핵심 원인 구간
TRACE
- 요청이 서버까지 도달하는 경로를 추적
- 보안 이슈로 인해 실무에서는 거의 사용하지 않음
CONNECT
- 프록시를 통한 터널링 (주로 HTTPS)
- 일반 API 서버에서는 거의 사용하지 않음
────────────────────────────
PUT vs PATCH 차이
────────────────────────────
PUT
- 전체 데이터 교체
- 요청 데이터가 크다
- 실무 사용 빈도 낮음
PATCH
- 일부 필드만 수정
- 요청 데이터가 작다
- 실무에서 권장
────────────────────────────
실무 기준 추천 사용법
────────────────────────────
- 조회: GET
- 생성: POST
- 전체 수정: PUT
- 부분 수정: PATCH
- 삭제: DELETE
- CORS / API 사전 확인: OPTIONS
- 메타 정보만 필요할 때: HEAD
728x90
'IT > Server' 카테고리의 다른 글
| 왜 Forward Proxy / Reverse Proxy라고 부를까? (0) | 2025.12.25 |
|---|---|
| HTTPS 프록시의 핵심, CONNECT 메서드란? (0) | 2025.12.25 |
| Cache-Control: public, max-age, s-maxage, immutable 완벽 정리 (0) | 2025.12.05 |
| Tailscale을 이용한 라즈베리파이 원격 접속 설정 방법 (0) | 2025.03.11 |
| curl ifconfig.me로 공인 IP 주소 확인하기 (0) | 2024.11.06 |