[TIL] HTTP Method 역할이 뭘까?

woonie·2022년 3월 13일
0

TIL

목록 보기
50/64

HTTP Method

HTTP Method란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식,쉽게 말하면 서버에 요청을 보내는 방법입니다.

Method 종류

  1. GET
  • 특정 리소스(데이터) 취득 (Read)
    URL 형식으로 웹서버 측에 리소스를 요청
    GET을 사용하는 요청은 오직 데이터를 받기만 한다.
    상세 페이지 로드 등 서버에서 어떤 데이터를 가져와서 보여주기 위한 용도
  1. HEAD
  • 메세지 헤더(문서 정보) 취득
    GET과 비슷하지만, 실제 문서를 요청하는 것이 아니라 문서의 정보를 요청
  1. POST
  • 내용 전송 (Create)
    클라이언트에서 서버에 데이터를 추가·작성하고, 요청 데이터를 HTTP BODY에 담아 웹서버로 전송
    입력, 생성 등 행동하는 행위에 사용
    새로 작성한 리소스인 경우, 서버는 HTTP 헤더의 'Location:'에 URI 주소를 포함시켜 응답
  1. PUT
  • 내용 갱신(수정) 위주 (Update)
    POST와 비슷한 방식이지만, PUT은 서버의 데이터를 갱신·작성

    POST와 PUT의 차이점
    POST와 PUT 모두 클라이언트 측에서 서버 측에게 리소스를 전송하는 방식
    POST는 보통 INSERT의 개념으로 사용되고, PUT은 UPDATE의 개념으로 사용
    또한 POST는 멱등하지 않고 PUT은 멱등합니다.
  • 멱등성(Idempotent) : 해당 메서드로 동일한 요청을 여러 번 호출해도, 한 번 요청한 효과가 동일한 것.
    (PUT, DELETE, TRACE, GET, HEAD, OPTIONS가 멱등성을 갖는다)
  1. PATCH
  • PUT과 유사하게 클라이언트 측에서 요청한 리소스를 갱신할 때 사용
    PUT은 리소스 전체를 갱신하지만, PATCH는 리소스의 일부를 교체

    PUT과 PATCH의 차이점
    두 가지 모두 클라이언트 측에서 요청한 리소스를 갱신할 때 사용하지만,
    PUT은 해당 리소스의 전체를 교체하는 방식이고, PATCH는 해당 리소스의 일부를 변경하는 방식
    PUT은 전체 내용을 업데이트하기 때문에 동일한 리소스에 대해 동일하게 PUT을 처리하는 경우 멱등하게 처리되지만,
    PATCH는 내용의 일부가 변경되기 때문에 멱등성을 보장할 수 없다.
  1. DELETE
  • 삭제 (Delete)
    클라이언트 측에서 웹 리소스를 삭제할 것을 요청
    안전성 문제로 대부분의 서버에서 비활성화 되어있다.
    Delete는 Body가 없어 한 개의 데이터만 삭제할 수 있다. (여러 개 삭제 시 PUT 또는 PATCH 사용)
    Body 대신 path 파라미터로 데이터를 전달
  1. CONNECT (거의 사용 안 함)
    동적으로 터널 모드를 교환하기 위해 사용
    프록시 기능을 요청할 때 사용

  2. TRACE (거의 사용 안 함)
    원격지 서버에 루프 백 메세지를 호출하기 위해 테스트 용으로 사용하는 메서드입니다.
    클라이언트가 방금 보낸 요청을 다시 달라고 서버에게 요청하는 것입니다.

  3. OPTION
    웹서버 측 제공 메서드에 대한 질의
    서버에서 해당 리소스에 대해 지원되는 메서드의 종류를 확인

profile
동료들과 함께하는 개발의 중요성에 관심이 많습니다. 언제나 호기심을 갖고 꾸준히 노력하는 개발자로서 성장하고 있습니다.

0개의 댓글