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
'雜同散異' 카테고리의 다른 글
[ Premiere ] 프리미어 프로 한글 메뉴 영어로 바꾸는 방법 (0) | 2020.03.05 |
---|---|
[ Font ] 무료 글꼴, 코딩 글꼴부터 디자인 글꼴까지 총정리 - 최종 업데이트 2020.02.25 (0) | 2020.02.25 |
[ cafe24 ] 데이타베이스 접속 방법 (0) | 2020.02.04 |
[ Chrome ] 웹사이트를 다크 모드로 보는 방법 (0) | 2019.12.26 |
[ MySQL ] root 패스워드 정책 및 패스워드 설정 (0) | 2019.11.30 |
[ Bookmark ] Online File Convert - convert.com (0) | 2019.11.12 |
[ Bookmark ] javascript CDN경로 검색 사이트 (0) | 2019.11.11 |
[ 네이버 ] 웹사이트 등록하기 (0) | 2019.11.09 |