[개념] HTTP 메소드 정리

HTTP란

HTTP(HyperText Transfer Protocol)란 HTML과 같은 하이퍼미디어 문서를 전송하기 위한
애플리케이션 계층의 프로토콜이며,
전통적인 Client - Server 모델을 따르는
무상태 프로토콜로 서버가 두 요청 간에 어떠한 데이터(상태)도 유지하지 않습니다.

 

 

 

어려운 말인 것 같지만 이해하고 나면 별거 아닌 말입니다.

 

하나씩 살펴보면,

 

HTTP는 글자에서 알 수 있듯, 하이퍼미디어 문서를 전송하기 위한 프로토콜입니다.

여기서 하이퍼미디어 문서란, 우리가 흔히 사용하는 하이퍼링크와 사진, 영상 등을 문서에 담을 수 있는 문서를 말합니다.

 

우리가 흔하게 사용하는 유튜브라던가, 쇼핑몰 사이트를 대표적인 예로 들 수 있습니다.

 

애플리케이션 계층이란, 네트워크의 OSI 7계층 중 7계층(응용계층)이며, 주로 서버와 클라이언트가 통신을 주고 받는 계층입니다.

 

또한 전통적인 Client-Server 모델을 따르는데, 이는 서버와 클라이언트를 따로 두어 상호 통신하는 방식을 말합니다.

 

마지막으로 무상태 프로토콜이란 말은,

상호 통신하는데 있어서 Request(요청)과 Response(응답)이 필요로 하는데 HTTP는 데이터를 유지하지 않아 요청에 의한 응답이 끝나면, 이전 요청을 보냈던 곳으로 응답을 보낼 수 없습니다.

 

HTTP 메서드

HTTP는 Request(요청) 메서드를 정의하여, 주어진 리소스에 수행하기 원하는 행동을 나타냅니다.

 

총 9개의 메서드를 지원하며, 이는 다음과 같습니다.

 

GET

  • 특정 리소스의 표시 요청(READ)
  • 데이터를 받는 역할
  • 요청시 데이터가 쿼리 형식으로 표현

 

HEAD

  • GET과 동일한 응답을 요구
  • 응답 본문을 포함하지 않음(간략한 표현)

 

POST

  • 특정 리소스에 엔티티(객체)를 제출할 때 쓰임
  • 종종 서버의 상태의 변화나 부작용을 일으킴
  • 데이터를 담을 바디가 존재

 

PUT

  • 데이터와 함께 요청
  • 목적 리소스를 요청한 데이터로 바꿈

 

DELETE

  • 특정 리소스 삭제 요청

 

CONNECT

  • 목적 리소스로 식별되는 서버로의 터널을 맺음

 

OPTIONS

  • 목적 리소스의 통신을 설정하는데 쓰임

 

TRACE

  • 목적 리소스의 경로를 따라 메시지 loop-back 테스트

 

PATCH

  • 리소스의 일부분을 수정하는데 쓰임

 

마무리

주로 사용하는 GET, POST, PUT, DELETE, PATCH 정도의 메소드를 알고 있었지만, 이 외의 메소드의 존재와 역할을 공부할 수 있는 기회가 되었습니다.

참조

https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

 

HTTP 요청 메서드 - HTTP | MDN

HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부

developer.mozilla.org

 

반응형