GET과 POST의 차이

 

 

HTTP Method

HTTP Method는 클라이언트가 서버에 요청의 목적 및 종류를 알리는 수단입니다.

그 종류에는 GET, POST, PUT ,PATCH, DELETE.. 등 여러가지가 있습니다. 오늘은 가장 많이 쓰이는 GET과 POST에 대해서 알아보겠습니다.

 


GET

GET 방식은 주로 서버에서 리소스를 조회할때 사용됩니다.

 

특징

  • 캐시가 가능하다
    • 리소스를 요청할 때 웹 캐시가 요청을 가로채 리소스 복사본을 반환합니다. HTTP Header에서 cache-control 헤더를 통해 캐시 옵션을 지정할 수 있습니다.
  • 브라우저 히스토리에 남습니다.
  • GET은 SELECT 성향이 있어 서버에서 데이터 조회하는 용도로 활용됩니다.
  • URL에 데이터를 포함하여 요청할 수 있습니다. (쿼리스트링)
  • 데이터를 Header에 포함하여 전송합니다.

 

쿼리 스트링 또는 쿼리 파라미터

 

쿼리스트링은 ?로 시작하여 키(Key) = 값(Value) 형태로 전송할 수 있고 & 기호를 사용하여 다수의 데이터를 전송 할 수 있습니다. 다만 문제는 Header에 데이터가 노출되는 문제가 발생합니다. 


POST

POST 방식은 서버에 리소스를 처리할 때 사용됩니다. 주로 데이터를 추가하거나 수정하기 위해 사용됩니다.

 

특징

  • 캐시가 불가능 합니다.
  • 브라우저 히스토리에 남지 않습니다.
  • URL에 데이터를 노출하지 않고 요청할 수 있습니다.
  • 데이터를 Body에 포함하여 전송합니다.

GET과 POST의 차이

  • 사용목적
    • GET : 데이터 조회
    • POST : 데이터 생성 또는 수정
  • 데이터 위치
    • GET : Header
    • POST : Body
  • 멱등성(Idempotent) : 연산을 여러 번 하더라도 결과가 달라지지 않는 성질을 의미합니다.
    • GET : 멱등성 보장
    • POST : 멱등성 보장 X 

https://ko.wikipedia.org/wiki/HTTP

 

+ Recent posts