개발

HTTP 메서드 정리

피터JK 2025. 2. 18. 14:23
728x90

HTTP 메서드는 웹 서버와 클라이언트 간에 데이터를 주고받을 때 사용되는 요청 방식입니다.
각 메서드는 특정 목적에 맞게 설계되어 있습니다. 주요 HTTP 메서드는 다음과 같습니다:

1. GET

  • 목적: 서버로부터 데이터를 조회.
  • 특징:
    • 데이터를 요청만 하고 수정하지 않음.
    • 캐싱이 가능.
    • URL에 쿼리 문자열을 포함하여 데이터를 보낼 수 있음.
    • 데이터 크기 제한이 있음(브라우저나 서버에서).

2. POST

  • 목적: 서버에 데이터를 제출하여 처리하도록 요청 (예: 폼 제출).
  • 특징:
    • 데이터를 요청 본문(body)로 전송.
    • 서버에서 데이터를 생성하거나 수정하는 작업에 사용.
    • 캐싱되지 않음.
    • 보안상의 이유로 GET에 비해 데이터를 URL에 노출하지 않음.

3. PUT

  • 목적: 서버에서 리소스를 업데이트.
  • 특징:
    • 요청 본문에 포함된 데이터를 서버에서 리소스를 업데이트하는 데 사용.
    • 리소스가 없으면 새로 생성할 수도 있음.
    • idempotent(여러 번 요청해도 같은 결과가 나옴)한 요청이므로, 동일한 요청을 반복해도 결과가 동일.

4. DELETE

  • 목적: 서버에서 리소스를 삭제.
  • 특징:
    • 요청 본문은 사용하지 않음.
    • 리소스 삭제가 목적이므로 idempotent한 특성을 가짐.

5. PATCH

  • 목적: 리소스를 부분적으로 업데이트.
  • 특징:
    • PUT과 비슷하지만, 전체 리소스를 업데이트하는 것이 아니라 일부만 수정.
    • 서버에서 특정 필드나 값만 업데이트할 때 사용.

6. HEAD

  • 목적: GET과 동일하지만, 응답 본문을 포함하지 않음.
  • 특징:
    • 헤더 정보만 반환.
    • 주로 리소스의 메타데이터를 조회할 때 사용.

7. OPTIONS

  • 목적: 서버가 지원하는 HTTP 메서드 목록을 조회.
  • 특징:
    • 서버가 특정 리소스에 대해 지원하는 메서드를 확인할 때 사용.
    • CORS(Cross-Origin Resource Sharing) 요청에서 주로 사용됨.

8. TRACE

  • 목적: 클라이언트가 서버로 보낸 요청을 그대로 반환받음.
  • 특징:
    • 디버깅이나 네트워크 추적을 위해 사용.
    • 보안상의 이유로 서버에서는 종종 비활성화됨.

9. CONNECT

  • 목적: 프록시 서버와 연결하여, 클라이언트가 다른 서버와 안전하게 통신할 수 있도록 함.
  • 특징:
    • 주로 HTTPS 연결을 위한 메서드로 사용됨.

각 HTTP 메서드는 특정한 용도에 맞게 설계되었으며, 이를 활용하여 효율적으로 웹 애플리케이션을 설계할 수 있습니다.

728x90