HTTP Method란?

HTTP 요청을 보낼 때 사용되는 다양한 메서드로, 클라이언트와 서버 간의 데이터 전송 방식을 정의한다.

HTTP 메서드는 RESTful API에서 자원을 조작하는 기본적인 방법이며, 각 메서드는 특정한 목적을 가지고 있다.

📌 HTTP Method 종류 및 특징

1️⃣ GET (조회)

  • 특정 리소스를 받고 싶을 때 사용하는 메서드
  • 요청시 필요한 정보는 query parameter로 전달
  • 리소스 생성, 수정, 삭제에는 사용하지 않음
  • 응답 데이터가 캐싱될 가능성이 있음
GET /users?id=123 HTTP/1.1
Host: example.com

2️⃣ POST (생성 및 실행 요청)

  • 리소스 생성, 컨트롤러 실행을 위한 요청 시 사용
  • 요청시 필요한 정보는 request body에 포함
  • 서버에 데이터를 전송하는 대표적인 방식
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "홍길동",
    "email": "hong@example.com"
}

3️⃣ PUT (전체 업데이트)

  • 변경 가능한 리소스 전체를 업데이트할 때 사용
  • 요청시 필요한 정보는 request body에 전달
  • 업데이트할 리소스의 식별 정보가 포함되어야 함
PUT /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "홍길동",
    "email": "hong_updated@example.com"
}

4️⃣ PATCH (부분 업데이트)

  • 변경 가능한 리소스의 일부 속성만 업데이트할 때 사용
  • PUT과 마찬가지로 리소스 식별 정보 포함 필요
  • PUT을 사용해 전체 객체를 업데이트하는 것이 관례여서 거의 사용되지 않음
PATCH /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "email": "hong_patch@example.com"
}

5️⃣ DELETE (삭제)

  • 특정 리소스를 제거하기 위한 메서드
  • 일반적으로 Request Body 없이 URI 경로에 리소스 ID를 포함
DELETE /users/123 HTTP/1.1
Host: example.com

6️⃣ HEAD (헤더 조회)

  • 클라이언트가 본문 없이 리소스의 헤더 정보만 조회하는 메서드
  • 리소스의 존재 여부 확인 및 메타데이터 검사 용도로 사용
HEAD /users/123 HTTP/1.1
Host: example.com

7️⃣ OPTIONS (지원 메서드 조회)

  • 클라이언트가 서버의 특정 리소스에 대해 수행 가능한 동작을 조회할 때 사용
  • 서버는 Allow 헤더에 사용 가능한 HTTP 메서드를 반환
OPTIONS /users HTTP/1.1
Host: example.com

서버 응답 예시:

HTTP/1.1 200 OK
Allow: GET, POST, PUT, DELETE, OPTIONS

📌 RESTful API에서 HTTP 메서드 활용

HTTP Method 사용 목적 멱등성
GET 리소스 조회
POST 리소스 생성 또는 실행
PUT 리소스 전체 업데이트
PATCH 리소스 부분 업데이트
DELETE 리소스 삭제
HEAD 리소스 존재 여부 확인
OPTIONS 사용 가능한 HTTP 메서드 조회

멱등성(Idempotency)

한 요청을 여러 번 수행해도 결과가 동일하게 유지되는 성질을 의미함.
예를 들어, GET, PUT, DELETE는 멱등하지만, POSTPATCH는 요청을 반복할 경우 상태가 달라질 수 있음.


연결문서

댓글남기기