GET과 POST차이
안녕하세요~ 초이 입니다.
안드로이드 통신을 하다가 보면 HTTP프로토콜을 사용해서 통신을 할 때가 있습니다.
HTTP프로토콜을 사용하려면 GET방식으로 통신할지 POST방식으로 통신할지 구분해야 하는 상황이 옵니다.
GET과 POST는 웹에서 자주쓰이지만 안드로이드 개발자도 알아두어야 웹과 통신을 할 수 있겠죠?
그럼~ 필요한 개념만 잡으시고
혹시 실제로 통신이 어떻게 이루어지 는지 더욱 공부하고 싶으신 분들은 WEB 관련 언어 (HTML, CSS, PHP, Javascript)정도, 후니의 시스코 네트워크 두 가지를 가지고 공부하시는 편이 좋으실 겁니다.
GET
- 서버로부터 정보를 조회하기 위해 설계된 메소드
- GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송합니다.
- GET은 서버에게 동일한 요청을 여러 번 전송하더라도 동일한 응답이 돌아와야 한다.
- GET은 주로 조회같은 작업을 사용할 때 사용해야 합니다.
- GET은 쿼리의 이름과 값이 결합되어 문자열 형태로 서버에 전달됩니다.
- GET은 한번 요청 시 전송 데이터 양은 주소값+파라미터로 255자(HTTP/1.1인 경우 2048자)로 제한됩니다.
POST
- POST는 서버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있습니다.
- POST는 서버의 상태나 데이터를 변경시킬 때 사용됩니다.
- POST 주로 생성같은 작업을 사용할 때 사용해야 합니다.
- POST는 헤더를 통해 요청이 전송되는 방식입니다.
- POST는 클리이언트와 서버 간에 인코디하여 서버로 전송합니다.
- POST는 한번 요청 시 데이터 양은 제한이 없습니다.
- POST방식은 클라이언트에서 데이터를 인코딩 한 뒤 서버츠게서 디코딩 해서 사용합니다.a
- POST방식의 쿼리는 body안에 들어갑니다.
GET과 POST의 차이
- 전송 가능한 데이터 양이 차이난다 (GET < POST)
- 사용하는 용도가 틀리다 GET은 조회, POST는 생성으로 사용
- 웹페이지를 조회 시 URL을 통해 해당 홈페이지에 관련된 정보가 필요한데 POST는 요청 데이터가
BODY에 담겨 있기 때문에 링크 정보를 가져올 수 없습니다.
반면 GET은 URL에 요청 파라미터를 가지고 있기 때문에 링크를 걸 때,
URL에 파라미터를 사용해 더 디테일하게 페이지를 링크할 수 있습니다.
Reference (참조)
https://tools.ietf.org/html/rfc2616
(안드로이드) 안드로이드 리소스 (Android Resource) (0) | 2019.01.28 |
---|---|
(안드로이드) 안드로이드 지원 이미지 형식 (0) | 2019.01.28 |
(안드로이드) 이미지 뷰 [ImageView] 사용법 및 개념 (0) | 2019.01.28 |
(HttpURLConnection) 안드로이드 HTTP 통신하기 02 ( HttpURLConnection란? ) (0) | 2019.01.22 |
(안드로이드) JSONException 예외가 발생하는 이유 (0) | 2019.01.10 |