HTTP Verbs의 종류와 사용 목적

HTTP Verbs란?

HTTP Verbs(또는 Methods)는 클라이언트가 서버에 요청할 때 수행하고자 하는 작업의 종류를 명시합니다. 아래는 각 메서드의 역할, 사용 사례, 주요 속성을 설명한 내용입니다.


1. GET

  • 목적: 리소스 조회
  • 설명:
    • 서버에서 특정 리소스(데이터)를 가져옵니다.
    • 데이터를 변경하지 않습니다. (안전하고, 멱등성 있음)
  • 예시:
    GET /articles HTTP/1.1
    

2. POST

  • 목적: 리소스 생성
  • 설명:
    • 서버에 데이터를 전송하여 새로운 리소스를 생성하거나 특정 동작을 수행합니다.
    • 동일 요청을 여러 번 보내면 리소스가 중복 생성될 수 있습니다. (멱등성 없음)
  • 예시:
    POST /users HTTP/1.1
    Content-Type: application/json
    
    {
      "name": "John",
      "email": "john@example.com"
    }
    

3. PUT

  • 목적: 리소스 업데이트(또는 생성)
  • 설명:
    • 지정된 리소스를 업데이트하거나, 리소스가 없으면 새로 생성합니다.
    • 멱등성을 보장합니다.
  • 예시:
    PUT /users/1 HTTP/1.1
    Content-Type: application/json
    
    {
      "name": "Jane",
      "email": "jane@example.com"
    }
    

4. PATCH

  • 목적: 리소스 부분 업데이트
  • 설명:
    • 리소스의 일부 데이터를 수정합니다.
    • 변경이 필요한 데이터만 요청 본문에 포함.
  • 예시:
    PATCH /users/1 HTTP/1.1
    Content-Type: application/json
    
    {
      "name": "Jane"
    }
    

5. DELETE

  • 목적: 리소스 삭제
  • 설명:
    • 지정된 리소스를 서버에서 삭제합니다.
    • 멱등성을 보장합니다.
  • 예시:
    DELETE /users/1 HTTP/1.1
    

6. HEAD

  • 목적: 리소스의 헤더 정보 조회
  • 설명:
    • GET과 유사하지만, 응답 본문(body)은 포함하지 않고 헤더만 반환.
  • 예시:
    HEAD /articles HTTP/1.1
    

7. OPTIONS

  • 목적: 서버에서 지원하는 메서드 확인
  • 설명:
    • 특정 URL에서 허용되는 HTTP 메서드를 확인합니다.
  • 예시:
    OPTIONS /users HTTP/1.1
    

8. TRACE

  • 목적: 요청 경로 추적
  • 설명:
    • 클라이언트와 서버 간의 요청 전달 경로를 테스트하는 데 사용.

9. CONNECT

  • 목적: TCP 터널링
  • 설명:
    • 클라이언트와 서버 간의 터널을 생성하여 HTTPS와 같은 보안 연결을 설정합니다.

HTTP 메서드의 주요 속성

메서드 안전성 멱등성 캐시 가능성
GET
POST
PUT
PATCH ✅ (조건적)
DELETE
HEAD
OPTIONS
TRACE
CONNECT

HTTP Verbs를 올바르게 이해하면 RESTful API 설계와 클라이언트-서버 간의 효율적인 통신 구현에 큰 도움이 됩니다.

Categories:

Updated:

Leave a comment