Web

[Web] HTTP Request Method

차가운개발 2024. 11. 27. 14:41

 

HTTP 요청 메서드는 클라이언트가 서버와 통신하기 위해 사용하는 메서드로, 각각의 메서드는 특정한 작업을 요청하기 위해 사용한다. 

 

ㅇ 종류

  • GET
    서버에서 데이터를 요청할 때 사용한다.

    데이터나 리소스를 가져올 때 사용
    URL에 데이터를 쿼리 스트링 형태로 포함(ex : /abc?a=1&b=2)
    서버의 상태나 데이터를 변경하지 않음
    응답이 캐싱될 수 있음

  • POST
    서버에 데이터를 생성하거나 제출할 때 사용한다.

    본문(Body)에 데이터를 담아 요청
    서버의 상태나 데이터를 변경할 가능성이 있음
    같은 요청을 반복하면 데이터가 중복생성될 수 있음

  • PUT
    서버의 데이터를 완전히 업데이트(덮어쓰기)할 때 사용한다.

    리소스가 없으면 새로 생성하기도 함
    요청 본문(Body)에 전체 데이터를 포함
    데이터 수정 가능
    동일한 요청을 여러 번 보내도 결과가 동일 (멱등성)

  • PATCH
    서버의 데이터를 부분적으로 업데이트할 때 사용한다.

    PUT과 달리 일부 데이터만 수정 가능
    동일한 요청을 여러 번 보내도 결과가 동일(멱등성)

  • DELETE
    서버의 리소스를 삭제할 때 사용한다.

    서버 상태 변경 가능
    동일한 요청을 여러 번 보내도 결과는 동일 (멱등성)

  • HEAD
    GET 요청과 동일하지만 응답 본문(Body)을 포함하지 않음

    리소스 존재 여부 확인에 유용
    데이터를 가져오지 않고 메타 데이터만 확인
    (데이터를 설명하는 정보를 가진 데이터 >> 메타데이터)

  • OPTIONS
    서버가 지원하는 메서드와 옵션을 확인할 때 사용

    CORS요청 시 유용
    서버의 메서드 허용 여부 확인

  • TRACE
    요청이 서버에 도달하는 경로를 추적할 때 사용한다.

    디버깅 용도로 사용
    요청 내용을 그대로 반사

  • CONNECT
    프록시 서버와 터널링을 설정할 때 사용한다.
    (클라이언트와 서버 사이에 위치한 중계역할을 수행하는 서버)

    HTTP 요청 시 주로 사용(SSL/TLS 터널링)

 

** 멱등성 : 동일한 요청을 여러 번 보내도 결과가 동일한 메서드

(GET, PUT, DELETE)

 

** 안전성 : 서버의 상태를 변경하지 않는 메서드

(GET, HEAD, OPTIONS)