상세 컨텐츠

본문 제목

(HttpURLConnection) 안드로이드 HTTP 통신하기 01 (GET과 POST의 차이)

Android

by choiDev 2019. 1. 22. 21:08

본문

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




관련글 더보기