'get'에 해당되는 글 1건

반응형

HTTP의 메소드인 GET과 POST의 차이점에 대해 살펴 본다.

 

[ GET ]

get 은 서버로 부터 정보를 조회하기 위한 HTTP메소드 이다.

request를 서버에 전달할 때 URL에 다음과 같은 방법으로 value_name과 value를 전달하게 된다.

http://www.example.com/request?name1=value1&name2=value2&name3=value3

URL 뒤에 question symbol(?)을 붙이고 그 뒤에 요청할 value이름과 값을 표시한다. value가 여러개인 경우는 ampersand symbol(&)을 이용하여 나열한다.

get의 특징은 다음과 같다.

- 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있다.

- 쿼리스트링을 사용하기 때문에 특정 페이지를 링크할 수 있다.

- 웹브라우저를 통해 웹페이지나 게시글 등을 조회하는 경우 주로 사용된다.

 

[ POST ]

post는 서버에 리소스를 생성하거나 변경하기 위해 사용된다. 따라서 GET과는 달리 URL이 아닌 HTTP메세지의 Body에 전달할 데이터를 담아 전송하게 된다.

HTTP메시지의 body는 데이터를 크기의 제한 없이 전송할 수 있어, POST request는 GET과는 달리 대용량의 데이터를 전송할 수 있다.

post의 특징은 다음과 같다.

- 대용량의 데이터 전송이 가능하다.

- 동일한 요청을 해도 응답은 항상 다를 수 있다.

- 서버의 상태나 데이터를 변경 시킬때 주로 사용된다.

 

흔히 GET은 서버에 전달되는 데이터가 외부로 노출 되고, POST는 노출되지 않아 보안을 위해 POST를 사용하는 것이 바람직하다는 정보를 볼 수 있다. 하지만 이는 잘못된 정보이다. 브라우저의 개발자 도구를 통해 POST로 전달되는 정보도 확인할 수 있기 때문이다.

 

바람직한 메소드 사용은 다음과 같이 정리 할 수 있다.

- 조회 : GET

- 생성 : POST

- 수정 : PUT 또는 PATCH

- 삭제 : DELETE

 

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,