[http method] GET/POST 차이

양주영·2022년 8월 30일
0

http

목록 보기
1/1

http method get/post 공통점

GET과 POST는 HTTP 메서드로 클라이언트에서 서버로 무언가를 요청할 경우 사용한다.

GET 특징

GET은 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드
Body 부분은 비어있고 헤더에 Body의 콘텐츠 타입을 명시하는 Content-Type 헤더 필드도 적지 않는다.
URL 주소 끝에 파라미터로 포함되어 전송되며, 이를 쿼리스트링이라고 한다.

  • GET 요청은 캐시가 가능하다.
    한 번 접근 후 또 요청할 경우 빠르게 접근하기 위해 레지스터에 데이터를 저장시켜 놓는 것. 캐싱이 가능하므로 상대적으로 전송 속도가 빠르다.

  • 브라우저 히스토리에 기록이 남는다.

  • 북마크 될 수 있다.

  • 길이 제한이 있다.
    - 간단한 데이터 요청할 때 적합하다.

  • 중요한 정보를 다루면 안된다. (보안상)
    url의 ? 뒤에서부터 쿼리 스트링으로 데이터를 표현하는데 값들이 모두 노출되기 때문에 보안에 취약하다.

  • 데이터를 요청할 때만 사용된다.


POST 특징

POST는 클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용되는 메서드
전송할 데이터를 HTTP 메시지 body 부분에 담아서 서버로 보낸다. 때문에 서버로 보내는 데이터의 양은 제한이 없다. 또한, 요청 헤더의 Content-Type에 콘텐츠 타입을 명시한다.

  • 캐시되지 않는다.
    URL에 데이터가 노출되지 않으므로 캐싱이 불가하다.

  • 브라우저 히스토리에 남지 않는다.

  • 북마크 되지 않는다.

  • 데이터 길이에 제한이 없다.

  • 보안적
    데이터들이 URL에 노출되지 않기 때문에 상대적으로 보안적이다.


GET과 POST의 차이점

  • 사용 목적 : GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 생성하거나 업데이트할 때 사용한다.

  • 요청에 body 유무 : GET은 URL 파라미터에 요청하는 데이터를 담아 보내기 때문에 HTTP 메시지에 body가 없지만, POST는 body에 데이터를 담아 보내기 때문에 HTTP 메시지에 body가 존재한다.

  • 멱등성 : GET 요청은 멱등이며, POST는 멱등이 아니다.

멱등성이란 ?
연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미

profile
뚜벅뚜벅

0개의 댓글