GET은 리소스를 요청할 때 사용하며 캐시가 가능합니다. 또한 보안이 취약하다는 단점이 있습니다. 이유중 하나로는 브라우저 히스토리가 남습니다. 또한 URL에 정보를 담아서 보내기 때문에 길이에 제한이 있습니다.
POST는 리소스를 생성할 때 사용하며 캐시가 불가능합니다. POST는 body에 데이터를 담아 보내기에 GET에 비해서는 보안이 좋습니다 또한 데이터의 길이와 전송량에 제한이 없습니다.
Get은 클라이언트가 서버에게 리소스를 요청할 때 사용하는 메서드입니다.
GET의 흐름으로는
GET이 요청을 할 때는 Body 부분은 비어있고 헤더에 Body의 콘텐츠 타입을 명시하는 Content-Type 헤더 필드도 적지 않습니다. URL뒤에 쿼리 스트링(Key와 Value)을 붙이고 HTTP 패킷의 헤더에 포함해서 서버에 데이터를 요청합니다.
POST는 리소스를 생성할 때 사용하는 메서드입니다. 예시로 회원가입이나, 글쓰기를 할때 사용합니다.
POST의 흐름으로는 POST가 요청 시 HTTP 패킷의 헤더에 Body의 콘텐츠 타입을 명시하는 Content-Type 헤더 필드를 포함하고 HTTP 패킷의 Body에는 데이터를 담아서 서버로 전송합니다.