CS/Network

HTTP의 GET과 POST

whyWhale 2021. 5. 3.
  • GET,POST는 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식.

  • 둘의 특징은 달라, 제대로 이해하고 사용해야 한다.

 

 

GET


  • 요청하는 데이터가 HTTP Request Message의 Header 부분에 url이 담겨서 전송.
  • url뒤에 ?뒤에 데이터가 붙어 request를 보내는 방식이다.
  • url이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다. 
  • 또한 보안이 필요한 데이터에 대해서는 데이터가 그대로 url에 노출되므로 GET방식은 부적합하다.

 

 

POST


  • Header가 아닌, Body 부분에 데이터가 담겨서 전송된다.
  • 때문에 바이너리 데이터를 요청하는 경우 POST방식으로 보내야 한다. 
  • 그리고 GET방식보다 데이터의 크기가 크고 보안면에서 낫다.
  • 하지만 암호화하지 않으면 GET이랑 별 다를게 없다.

 

즉 GET은 가져온다 라는 뜻으로 서버에서 어떤 데이터를 가져와 보여주는 용도이다. 서버의 값이나 상태등을 변경하지 않는다. sql 문의 SELET 성향을 가진다

 

반면 POST 서버의 값이나 상태등을 변경하기 위해 또는 데이터를 추가하기 위해 사용된다.

 

부수적인 차이로는 GET 요청은 브라우저에서 Caching 할 수 있다.

 

 

※ POST방식으로 요청해야 할 것을 보내는 데이터의 크기가 작고 보안적 문제가 없다는 이유로 GET방식으로 요청하게 된다면. 기존에 Caching되었던 데이터가 응답될 가능성이 크다. 그러므로 목적에 맞게 기술을 사용해야 한다.

 

'CS > Network' 카테고리의 다른 글

DNS Round Robin  (0) 2021.05.14
HTTP와 HTTPS  (0) 2021.05.11
TCP 와 UDP  (0) 2021.05.05
TCP - handShake  (0) 2021.05.04
[CS]_Network 핵심 요약 정리  (0) 2021.04.10

댓글