CS

[HTTP] GET과 POST의 차이점?

torimuk 2022. 10. 5. 11:56

GET

  • 일반적으로 어떠한 리소스로부터 정보를 요청하기 위해 사용하는 메서드
  • 요청을 전송할 때 데이터를 URL 주소 끝에 쿼리 스트링(QueryString)으로 추가시켜 전송
  • 불필요한 요청을 제한하기 위해 같은 요청을 캐시처리 할 수 있음
  • 요청이 브라우저 기록에 기록됨
  • 요청을 북마크에 추가할 수 있음
  • 데이터 길이에 대한 제한이 있음
  • URL 쿼리 스트링에 내용이 노출되기 때문에 민감한 데이터는 다루지 않는 것을 권장
  • 멱등성을 띔

POST

  • 일반적으로 어떠한 요청을 생성 또는 업데이트 하기 위해 사용하는 메서드
  • 요청을 전송할 때 데이터를 HTTP 메세지의 Body에 담아서 전송, Body Type은 Header의 Content-Type에 따라 결정
  • HTTP 메세지의 Body는 길이의 제한이 없음
  • 요청이 브라우저 기록에 기록되지 않음
  • 요청을 북마크에 추가할 수 없음
  • 멱등성을 띄지 않음

 

* 멱등성이란?

연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미.

GET은 동일한 요청을 여러 번 보내도 동일한 응답이 Return되기 때문에 멱등성을 띈다고 할 수 있음

POST는 동일한 요청을 여러 번 보냈을 때 응답이 다를 수 있기 때문에 멱등성을 띄지 않는다고 할 수 있음