HTTP 메서드는 클라이언트(예: 웹 브라우저)가 서버에게 **“무엇을 해달라”**고 요청할 때 사용하는 행동 명령어입니다.
즉, 어떤 자원을 조회할지, 생성할지, 수정할지, 삭제할지를 구분하는 역할을 합니다.
1. GET — “가져다주세요”
GET은 서버에 있는 자원(resource) 을 조회할 때 사용하는 메서드입니다.
웹 브라우저에서 주소(URL)를 입력하면 내부적으로 GET 요청이 전송됩니다.
예를 들어
GET /example-page HTTP/1.1
Host: www.example.com
이 요청은 www.example.com 서버에서 /example-page 자원을 가져오겠다는 의미입니다.
- GET 요청은 주로 HTML, 이미지, JSON 등 데이터를 읽을 때 사용됩니다.
- 요청 본문(body)은 거의 사용하지 않고, 쿼리 문자열(?name=value) 형태로 데이터를 전달합니다.
2. HEAD — “헤더만 주세요”
HEAD는 GET과 거의 동일하지만, 본문 없이 헤더 정보만 요청합니다.
서버는 실제 데이터를 보내지 않고, 해당 자원의 메타데이터(Content-Type, 길이, 상태 코드 등) 만 응답합니다.
이 메서드는 주로 다음과 같은 상황에서 사용됩니다.
- 파일의 크기나 형식을 확인할 때
- 링크가 유효한지 빠르게 점검할 때
3. POST — “처리해주세요”
POST는 서버가 새로운 작업을 수행하도록 요청할 때 사용됩니다.
예를 들어, 게시판에 글을 작성하거나 로그인 정보를 보낼 때처럼 데이터를 서버로 전송하는 경우에 사용됩니다.
요청 예시:
POST /posting HTTP/1.1
Host: example.com
{
"title": "오늘도 즐거운 날입니다",
"contents": "재미있는 글 보고 가세요~"
}
- POST는 메시지 본문(body)에 데이터를 담아 전송합니다.
- 서버는 이를 처리하여 새 자원을 생성하거나, 특정 로직을 수행합니다.
4. PUT — “덮어써주세요”
PUT은 전체 자원을 새 데이터로 완전히 대체할 때 사용됩니다.
즉, 기존 자원이 있다면 새 내용으로 덮어쓰고, 없으면 새로 생성합니다.
요청 예시:
PUT /posting HTTP/1.1
Host: example.com
{
"id": 1,
"title": "수정된 제목입니다",
"contents": "내용이 변경되었습니다"
}
PUT은 전체 데이터를 갱신하므로, 전체 자원의 최신 상태를 전달해야 합니다.
5. PATCH — “일부만 수정해주세요”
PATCH는 PUT과 달리 일부 속성만 수정할 때 사용됩니다.
예를 들어 제목만 바꾸고 싶을 때 전체 데이터를 보낼 필요 없이 수정할 부분만 전송합니다.
요청 예시:
PATCH /posting/1 HTTP/1.1
Host: example.com
{
"title": "수정된 제목입니다"
}
- 효율적으로 자원의 일부분만 변경할 수 있습니다.
- PUT과 달리 나머지 필드는 그대로 유지됩니다.
6. DELETE — “삭제해주세요”
DELETE는 지정된 자원을 서버에서 삭제하도록 요청할 때 사용됩니다.
요청 예시:
DELETE /texts/a.txt HTTP/1.1
Host: example.com
이 요청은 서버에게 /texts/a.txt 파일을 삭제하라는 의미입니다.
주요 HTTP 메서드 요약표
| 메서드 | 설명 |
| GET | 자원을 조회하기 위한 메서드 |
| HEAD | GET과 동일하지만, 헤더만 요청 |
| POST | 서버에 새로운 작업을 요청(예: 데이터 생성) |
| PUT | 자원을 통째로 교체 또는 새로 생성 |
| PATCH | 자원의 일부를 수정 |
| DELETE | 자원을 삭 |
이 외에도,
- CONNECT: 서버와의 양방향 연결(터널) 생성
- OPTIONS: 지원하는 메서드 목록 조회
- TRACE: 요청 경로를 추적해 테스트
정리하면
HTTP 메서드는 단순히 “데이터 요청 방식”이 아니라,
서버와 클라이언트 간 의사소통 규칙(프로토콜의 행동 약속) 입니다.
즉, “무엇을” 요청하는지가 아니라 “어떤 의도로 요청하는가”를 명확히 표현하는 도구이죠.
RESTful API 설계에서도 이 메서드들이 표준적인 행동을 정의하는 핵심이 됩니다.
'컴퓨터 과학 > 네트워크' 카테고리의 다른 글
| HTTP 요청과 응답에서 사용되는 주요 헤더 정리 (0) | 2025.10.05 |
|---|---|
| HTTP 상태 코드 완벽 정리 (0) | 2025.10.05 |
| HTTP 메시지 구조 이해하기 (0) | 2025.10.05 |
| HTTP의 네 가지 특성 (0) | 2025.10.05 |
| 도메인 네임과 네임 서버, 그리고 자원을 식별하는 URI (0) | 2025.10.05 |