두개 모두 HTTP 프로토콜을 이용해서 서버에서 무엇인가 요청할 때 사용되는 방식
둘의 특징을 제대로 이해야여 기술의 목적에 맞게 알맞은 용도로 사용
GET 방식은 용청하는 데이터가 HTTP Request Message 의 Header 부분에 url이 담겨서 전송
떄문에 url 상에?
뒤에파라미터
로 붙어서 요청되게 된다.
?test1=test&test2=test
이런 형식을쿼리스트링
이라고 한다.
이러한 방식으로 보내기 때문에 크기도 제한적이고 보안이 필요한데이터를GET
으로 보내면 노출이 되기 때문에 적절하지 않는다.
POST 방식은 요청을
HTTP Request Message
의 바디 부분에 데이터를 담겨서 전송한다.
때문에 바이너리 데이터를 요청하는 경우 POST 방식으로 보내야 하는 것 처럼
GET 방식에 비하여 데이터 크기나 보안적인 측면이 좀더 용의하다.
GET 의 경우 SELECT / 데이터를 조회를 할떄 보편적으로 사용이 된다.
그에 비하여 POST 는 데이터 변경(상태 변경)이나 로그인 할때 주로 사용을 한다.
약간의 차이점이 있다면 GET 방식의 요청은 브라우저에서 caching 할 수 있다.
그렇기 때문에 POST 방식으로 요청 해야 할 것을 보내는 데이터의 크기가 작고 보안적인 문제가 없다는 이유로 GET 방식 요청을 한다면
caching 되었던 데이터가 응답될 가능성이 존재한다.