개발공부/네트워크

[네트워크] HTTP GET과 POST 비교

개발자 찐빵이 2021. 11. 4. 17:05
728x90

둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식이다.
하지만 둘의 특징을 제대로 이해하여 기술의 목적에 맞게 알맞은 용도에 사용해야 한다.

GET

요청하는 데이터가 HTTP Request MessageHeader 부분의 url에 담겨서 전송되는 방식
url의? 뒤에 데이터가 붙어 request를 보낸다.

특징

url에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다.
보안이 필요한 데이터GET방식으로 보내면 데이터가 그대로 url에 노출되므로 적절하지 않다. ex. password

POST

데이터가 HTTP Message의 Body 부분에 담겨서 전송되는 방식

특징

바이너리 데이터를 요청하는 경우 POST 방식으로 보내야 한다.
데이터 크기가 GET 방식보다 크고 보안면에서 조금 낫다.
(보안적인 측면에서는 암호화를 하지 않는 이상 많이 차이 나지 않는다.)

GET과 POST의 사용

GET은 가져오는 것이다. 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나 상태 등을 변경하지 않는다.

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

부수적인 차이점

GET 방식의 요청은 브라우저에서 Caching 할 수 있다.
보내는 데이터의 크기가 작고 보안적인 문제가 없다는 이유로 POST 방식으로 요청해야 하는 것을 GET 방식으로 요청한다면 기존에 caching 되었던 데이터가 응답될 가능성이 존재한다.
따라서 목적에 맞는 기술을 사용해야 한다.

참고 사이트

HTTP의 GET과 POST 비교

반응형

'개발공부 > 네트워크' 카테고리의 다른 글

[네트워크] TCP와 UDP 비교  (0) 2021.11.03
[네트워크] HTTP vs HTTPS  (0) 2021.11.02
[네트워크] 넷마스크와 서브넷마스크  (0) 2021.11.01