HTTP 메서드

꽃봉우리·2024년 7월 22일

GET

  • 목적: 리소스 조회
  • 특징
    • 요청 본문(body)을 가지지 않음
    • URL에 데이터를 포함하여 전송 (쿼리 파라미터)
    • 멱등성(idempotent): 여러 번 호출해도 결과가 동일

예시: GET /users?id=123

POST

  • 목적: 새로운 리소스 생성
  • 특징:
    • 요청 본문에 데이터를 포함
    • 멱등성이 없음: 여러 번 호출하면 여러 리소스가 생성될 수 있음

예시: POST /users (본문에 사용자 정보 포함)

PUT

  • 목적: 리소스 전체 수정 또는 생성
  • 특징:
    • 요청 본문에 수정할 전체 데이터를 포함
    • 멱등성 있음: 여러 번 호출해도 결과가 동일

예시: PUT /users/123 (본문에 전체 사용자 정보 포함)

PATCH

  • 목적: 리소스 부분 수정
  • 특징:
    • 요청 본문에 수정할 일부 데이터만 포함
    • 멱등성이 없을 수 있음

예시: PATCH /users/123 (본문에 변경할 필드만 포함)

DELETE

  • 목적: 리소스 삭제
  • 특징:
    • 일반적으로 요청 본문 없음
    • 멱등성 있음: 여러 번 호출해도 결과 동일 (리소스가 이미 없어도 됨)

예시: DELETE /users/123

  • 목적: GET과 동일하나 응답 본문을 제외한 헤더만 반환
  • 특징:
    • 리소스를 받지 않고 메타데이터만 확인할 때 유용

예시: HEAD /files/image.jpg (파일 크기, 타입 등만 확인)

OPTIONS

  • 목적: 서버가 지원하는 메서드 확인 또는 CORS preflight 요청
  • 특징:
    • 서버의 기능을 알아보는 데 사용

예시: OPTIONS /api/data

CONNECT

  • 목적: 프록시를 통한 터널 연결 수립
  • 특징:
    • 주로 HTTPS 연결을 위해 사용

예시: CONNECT example.com:443 HTTP/1.1

TRACE

  • 목적: 요청 메시지 루프백 테스트
  • 특징:
    • 디버깅 용도로 사용, 보안상 비활성화되는 경우가 많음

예시: TRACE /index.html

각 메서드는 HTTP/1.1 스펙에 정의되어 있으며, RESTful API 설계에서 중요한 역할을 합니다. 메서드 선택 시 그 의미와 용도를 잘 고려해야 하며, 보안과 성능 측면도 함께 고려해야 합니다.

0개의 댓글