-
Web - GET & POSTWeb/Web 2021. 12. 15. 16:25
GET
GET이란?
ㆍ GET 방식은 클라이언트에서 서버로부터 어떠한 정보를 요청하기 위해 사용이 되는 방식이다.
ㆍ 정보 요청에 필요한 데이터를 URL 주소 끝에 파라미터로 포함되어 전송이 되며, 이 부분을 쿼리 스트링(Query String)이라고 부른다.
GET 방식의 예 : www.example.com/show?name01=value01&name02=value02
ㆍ 서버에서는 name01과 name02라는 파라미터 명으로 각각 value01과 value02의 값을 전달받을 수 있다.
GET의 특징
ㆍ GET 요청은 불필요한 요청을 제한하기 위해 요청이 캐시 될 수 있다.
ㆍ 파리미터에 내용이 노출되기 때문에 민감한 데이터를 다룰 때는 GET 요청을 사용해서는 안된다.
ㆍ GET 요청은 브라우저 기록의 남는다.
ㆍ GET 요청은 북마크에 추가할 수 있다.
ㆍ GET 요청은 길이 제한이 있다. (길이 제한에 대한 표준이 따로 있는 것이 아닌, 브라우저마다 제한이 다르다.)
POST
POST란?
ㆍ POST 방식은 클라이언트에서 서버로 정보를 생성하거나 변경할 때 사용이 되는 방식이다.
ㆍ GET 방식과는 달리 전송해야 할 데이터를 HTTP 메시지 body 부분에 담아서 보낸다.
ㆍ POST로 데이터를 전송 시 길이 제한이 따로 없기 때문에, 용량이 큰 데이터를 보낼 때 주로 사용된다.
ㆍ POST를 통한 데이터 전송은 HTML Form을 통해 서버로 전송된다.
POST의 특징
ㆍ POST 요청은 캐시 되지 않는다.
ㆍ POST 요청은 브라우저 기록에 남지 않는다.
ㆍ POST 요청은 북마크에 추가할 수 없다.
ㆍ POST 요청은 데이터 길이에 제한이 없다.
GET과 POST의 차이점
사용목적
ㆍ GET은 서버의 리소스에서 데이터를 요청할 때 사용이 된다.
ㆍ 반면, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용이 된다.
요청 시 body 유무
ㆍ GET은 URL에 요청하는 데이터를 담아 보내기 때문에 HTTP 메시지에 body가 없다.
ㆍ 반면에, POST는 body에 데이터를 담아 보내기 때문에 당연히 HTTP 메시지에 body가 존재한다.
멱등성
ㆍ GET 요청은 멱등인 반면에, POST 요청은 멱등이 아니다.
멱등이란?
멱등의 사전적 정의는 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.
GET은 리소스를 조회한다는 점에서 여러 번 요청하더라도 응답이 똑같을 것이다. 반대로 POST는 리소스를 새로 생성하거나 업데이트할 때 사용이 되기 때문에 멱등이 아니라고 할 수 있다.
728x90'Web > Web' 카테고리의 다른 글
Web - MVC 패턴 (0) 2022.01.31 Web - REST API (0) 2022.01.30 Web - Native App & Web App & Hybrid App (0) 2021.10.21 Web - OAuth란? (0) 2021.10.20 Web - Web Server & WAS (0) 2021.10.20