본문으로 바로가기
링크허브 공식블로그

연동이 쉬워진다

링크허브 공식블로그

현대리가 생각하는 IT

HTTP request methods

들어가며

http통신을 할때 클라이언트가 서버에게 request를 할때는 특정 목적을 가지고 요청합니다.  http 프로토콜의 헤더는 통신에 필요한 여러가지 정보를 담고 있습니다. 그 중 HTTP메서드는 서버가 HTTP 요청을 어떻게 처리해야 하는지 지시해주는 필드입니다. 서버는 HTTP method에따라서 Request-URI에 대해 다른 동작을 수행 할 수 있습니다. 오늘은 HTTP request Method종류에 대해서 알아보겠습니다.


HTTP란?

HTTP (Hypertext Transfer Protocal)는 클라이언트와 서버 간의 통신을 가능하게 하는 통신규약 입니다.
HTTP는 클라이언트와 서버간의 요청(request)과 응답(response) 프로토콜로 작동합니다.

웹 브라우저가 클라이언트 가 될 수 있으며 웹 사이트를 호스팅하는 컴퓨터의 응용 프로그램이 서버가 될 수 있습니다.

HTTP request Method 종류

GET

  • GET 메소드는 특정 리소스의 표시를 요청합니다. 
  • GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
  • GET은 지정된 자원에서 데이터를 요청하는 데 사용 됩니다.
  • GET 요청은 브라우저 기록에 남아 있습니다.
  • GET 요청은 북마크에 추가 할 수 있습니다.
  • GET 요청에 길이 제한이 있습니다.

POST

  • POST 메소드는 특정 리소스에 엔티티를 제출할 때 쓰입니다.
  • POST는 자원을 create / update하기 위해 서버로 데이터를 보내는 데 사용됩니다.
  • POST 요청이 브라우저 기록에 남아 있지 않습니다.
  • POST 요청을 북마크에 추가 할 수 없습니다.
  • POST 요청에는 데이터 길이에 대한 제한이 없습니다.

HEAD

  • HEAD메소드는 GET메소드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
  • GET이 무엇을 리턴하든 간에 헤더 정보만 요청합니다. Response의 body 정보가 없다는 것만 제외하면 GET Method와 동일 합니다.
  • URI 유효성과 리소스 갱신 시간을 확인할때 사용 됩니다.

DELETE

  • DELETE 메소드는 특정 리소스를 삭제합니다.

PATCH

  • PATCH 메소드는 리소스의 부분만을 수정하는 데 쓰입니다.

PUT

  • PUT 메소드는 리소스의 자원이 통체로 수정되는데에 쓰입니다. (만약 필드영역 일부만 전달할 경우,  그외의 필드 모두 null 혹은 초기값으로 처리)

OPTIONS

  • Request-URI의 통신에 대한 정보들을 제공합니다.
  • 현재 웹서버에서 지원하는 http method를 확인합니다.
  • URI에 대한 기능적인 체크 동작을 수행합니다.

TRACE

  • 클라이언트로부터 수신한 메시지를 응답에 포함시킵니다.
  • TRACE 메서드 요청에는 요청 정보를 포함하는 URI를 사용하면 안됩니다.

CONNECT

  • 프록시에 터널접속 확립을 요청합니다. TCP 통신을 터널링 시키기 위해서 사용됩니다.
  • SSL과 TLS등의 프로토콜로 암호화된 것을 터널링 시키기 위해서 사용하고 있습니다.

※ 보안상의 이유로 웹서버가 GET, POST 2개 또는 OPTIONS 포함 3개를 만을 허용하는 경우가 대부분입니다.

HTTP 버전별 지원 Method

HTTP/0.9 - GET
HTTP/1.0 - GET, POST, HEAD
HTTP/1.1 - GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT


마치며

현재 여러 서비스들이 Restful API로 개발이 진행되고있습니다. 알맞은 역할의 HTTP Method를 이해하고 사용하여 웹개발을 진행하시는데에 도움이 됐으면 좋겠습니다. 그러나 REST API는 정해진 명확한 표준이 없기 때문에 무엇이 옳고 그른게 아닌 개발하는 서비스의 특징을 고려하시는게 좋습니다. 


참고 사이트

HTTP request methods - HTTP | MDN - Mozilla

HTTP/1.1: Method Definitions

HTTP 요청 메소드 [정보통신기술용어해설]

HTTP Methods GET vs POST - W3Schools


  • Today
  • Total