GET과 POST 모두 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요철항 때 사용하는 방식.
그러나 각각의 특징을 이해아고 기술의 목적에 맞게 알맞은 용도로 사용해야한다.
- 프로토콜 : 복수의 컴퓨터 사이 또는 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약
GET
GET방식은 요청하는 데이터가 HTTP Request Message의 Header 부분에 담겨서 전송된다. 따라서 url 상에 ? 뒤데이터가 붙어 request를 보내게 되는 것이다.
GET 방식은 캐싱(caching: 캐시로 데이터를 가져와 접근하는 방식)을 사용하기 때문에 POST보다 빠르다.
이러한 방식은 url 이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다.
또한 보안이 필요한 데이터에 대해서는 데이터가 그대로 url에 노출되어 GET방식을 사용해서는 안된다.
POST
POST방식은 HTTP Request Message의 Body 부분에 데이터가 담겨서 전송된다. 따라서 바이너리 데이터를 요청하는 경우 POST 방식으로 보내야 하는 것처럼 데이터 크기가 GET 방식보다 크고 보안면에서 낫다. (그러나 암호화를 하지 않는한 보안이 좋은 것은 아님. 그게 그거)
GET과 달리 전송할 수 있는 데이터 크기의 제한이 없다.
둘의 차이
GET은 말 그대로 가져오는 것이다. 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도일 뿐 서버의 값이나 상태를 바꾸진 않는다.
반면에 POST의 경우엔 수행한다는 개념으로, 서버의 값이나 상태를 변경하기 위해서 또는 추가하기 위해서 사용된다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] HTTP와 HTTPS (0) | 2021.05.18 |
---|---|
[네트워크] UDP (0) | 2021.05.18 |
[네트워크] TCP (흐름 제어 / 혼잡 제어) (0) | 2021.05.17 |
[네트워크] TCP 3-way handshake & 4-way handshake (0) | 2021.05.17 |
[네트워크] OSI 7계층 (0) | 2021.05.17 |