-
HTTP의 GET, POST 방식 비교Computer Science🖥️/Network 2023. 8. 31. 10:53
HTTP(hyper text transfer protocol)란?
: OSI 7계층의 프로토콜 중 하나로 웹 페이지를 로드하는데 사용되는 전송 프로토콜 입니다.
GET, POST 방식
: 둘다 HTTP 프로토콜을 이용해서 서버에 요청할 때 사용하는 방식입니다.
GET
- http request message(7계층에선 단위를 message)의 헤더부분에 url이 담겨서 전송된다.
- ex. 그렇기 때문에 url에서 ? 뒤에 데이터가 붙어 request를 보내게 된다.
- 이러한 방식은 데이터가 url 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다.
- 또한 보안이 필요한 데이터엔 url에 그대로 노출 되므로 GET 방식은 적절하지 않다. (ex. login 의 password 등)
POST
- post방식의 request는 HTTP Request Message의 헤더가 아닌 BODY!!부분에 데이터가 담겨서 전송된다.
- 때문에 데이터 크기가 GET 방식보다 크고, 보안면에서 낫다.
- (하지만 보안적인 측면에선 암호화를 하지 않는 이상 비슷하다… 요청 데이터가 URL에 노출되지 않는다는 측면에서의 보안인듯)
두 방식의 차이 예시
- GET은 서버에서 어떤 데이터를 가져와서 보여주는 용도
- 서버 내의 데이터나 상태를 변경하지 않는다. ex) SELECT적인 성향
- GET 요청은 브라우저에 캐싱 할 수 있다.(임시보관함에 담아놓는)
- POST는 서버의 값이나 상태를 변경/추가 하기 위해 사용된다.
- 때문에 POST 방식으로 요청해야 할 것을 데이터의 크기가 작고, 보안적인 문제가 없다는 이유로 GET 방식으로 요청하면 기존에 캐싱 되었던 데이터가 응답될 가능성이 존재한다.
때문에 목적(서버에 데이터 변경 / 단순 로드 인지)에 맞는 기술을 사용해야한다.
'Computer Science🖥️ > Network' 카테고리의 다른 글
HTTP vs HTTPS (with SSL, 대칭키, 공개키) (0) 2024.10.24 [용어 개념]스위치, 라우터 차이 (0) 2020.10.18 TCP/UDP 개념 정리 (0) 2020.09.15