GET method
-
클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드
-
데이터를 읽거나(Read), 검색(Retrieve)할 때에 사용되는 메서드
-
오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않기때문에, 데이터 변형의 위험없이 사용할 수 있다
-
요청을 전송할 때 URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링(QueryString) 이라고 부른다
쿼리스트링을 포함한 URL
www.example-url.com/resources?name=박예슬&job=개발자
- 파라미터인 name과 job을 통해 값을 전달받을 수 있다
- 만약, 요청 파라미터가 여러 개이면 &로 연결
POST method
- 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용되는 메서드
- GET과 달리 전송해야될 데이터를 HTTP 메세지의 Body에 담아서 전송
- Body의 타입은 요청 헤더의 Content-Type에 표시 된 요청 데이터의 타입에 따라 결정
- HTTP 메세지의 Body는 길이의 제한없이 데이터를 전송할 수 있기때문에 POST 요청은 GET과 달리 대용량 데이터를 전송할 수 있다
- POST는 데이터가 Body로 전송되고, 내용이 눈에 보이지 않아 GET보다 보안적인 면에서 안전하다고 생각할 수 있지만, POST 요청도 크롬의 개발자 도구, Fiddler와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터의 경우에는 반드시 암호화해 전송해야 한다
참고 링크
[songyouhyun] Get과 Post의 차이를 아시나요?