본문 바로가기

Computer Science/학부 및 대학원 과목

[WebService] GET방식과 POST방식의 차이

먼저 간단히 정리하자면

GET과 POST은 HTTP Protocol을 이용하여 서버에 무언가를 전달할 때 사용하는 방식이라고 할 수 있다.  GET은 가져오는 것이고, POST는 수행하는 것에 초점을 맞추면 된다. GET은 서버에서 어떤 데이터를 가져와서 보여준다던가 하는 용도이며, 서버의 값이나 상태를 바꾸지 않는다.

이와 달리 POST는 서버의 값이나 상태를 바꾸기 위해서 사용한다. 


* GET 방식

- 클라이언트로부터 데이터를 이름과 값이 결합된 스트링 형태로 전달

- <FORM> 태그의 "METHOD" 속성의 값으로 "GET"을 입력

ex ) <form name="testform" method="GET" action="http://www.naver.com"> ...<form/>

- 전송 데이터 양은 225자

- 요청을 위한 정보를 전송 할 때 사용

- 데이터가 주소 입력란에 표시되므로 최소한의 보안도 유지되지 않음


* POST 방식

- 클라이언트와 서버간에 인코딩하여 서버로 전송

- 헤더를 통해 전송되는 방식

- <FORM> 태그의 "METHOD" 속성의 값으로는 "POST"를 입력

ex ) <form name="testform" method="POST" action="test.jsp">...<form/>

- 전송 데이터 양은 제한 없음

- 서버측에서의 정보 갱신 작업을 원할 때 사용

- POST 방식을 사용하면 GET 방식에 비해 상대적으로 처리 속도가 늦어짐

- 클라이언트 측에서 데이터를 인코딩하면 서버측에서 디코딩하는 방식


* POST 방식이 등장한 이유

- GET 방식으로 넘길 수 있는 데이터의 양은 한계가 있으며, GET 방식에는 예약어가 있다.

- 사용자에게 값을 쉽게 노출시키지 않기 위해서 사용하게 되었다.