GET
- 일반적으로 어떠한 리소스로부터 정보를 요청하기 위해 사용하는 메서드
- 요청을 전송할 때 데이터를 URL 주소 끝에 쿼리 스트링(QueryString)으로 추가시켜 전송
- 불필요한 요청을 제한하기 위해 같은 요청을 캐시처리 할 수 있음
- 요청이 브라우저 기록에 기록됨
- 요청을 북마크에 추가할 수 있음
- 데이터 길이에 대한 제한이 있음
- URL 쿼리 스트링에 내용이 노출되기 때문에 민감한 데이터는 다루지 않는 것을 권장
- 멱등성을 띔
POST
- 일반적으로 어떠한 요청을 생성 또는 업데이트 하기 위해 사용하는 메서드
- 요청을 전송할 때 데이터를 HTTP 메세지의 Body에 담아서 전송, Body Type은 Header의 Content-Type에 따라 결정
- HTTP 메세지의 Body는 길이의 제한이 없음
- 요청이 브라우저 기록에 기록되지 않음
- 요청을 북마크에 추가할 수 없음
- 멱등성을 띄지 않음
* 멱등성이란?
연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미.
GET은 동일한 요청을 여러 번 보내도 동일한 응답이 Return되기 때문에 멱등성을 띈다고 할 수 있음
POST는 동일한 요청을 여러 번 보냈을 때 응답이 다를 수 있기 때문에 멱등성을 띄지 않는다고 할 수 있음