SUIN

GET , POST 차이점 본문

개발지식 백과사전

GET , POST 차이점

choi suin 2022. 3. 22. 18:29
728x90

 

GET

-  GET 은 클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드
- GET을 통한 요청은 URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링 (query string) 이라고 부른다. 

GET 방식 특징

  • URL에 쿼리 스트링(데이터)을 붙여서 서버에 전송
  • 데이터를 Header(헤더)에 포함하여 전송
  • URL에 정보들이 그대로 노출되기 때문에 POST 방식보다 상대적으로 보안에 취약
  • 캐싱이 가능
  • POST 방식보다 상대적으로 전송 속도가 빠름
  • 전송하는 데이터양에 한계가 있음 (브라우저마다 GET 요청 길이 제한 존재)
  • 브라우저 히스토리에 기록이 남음

 

 

 POST 

- POST는 클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용 되는 메서드다

-POST는 전송할 데이터를 HTTP 메시지 body 부분에 담아서 서버로 보낸다. ( body 의 타입은 Content-Type 헤더에 따라 결정 된다.)

POST 방식 특징

  • 데이터들을 URL뒤에 붙여서 서버로 보내는 것이 아닌 Body에 담아서 전송
  • 요청 헤더의 Content-Type에 콘텐츠 타입을 명시
  • 데이터들이 URL에 노출되지 않기 때문에 GET 방식보다 상대적으로 보안적
  • 데이터들을 Body에 담기 때문에 서버로 보내는 데이터의 양은 제한 없음
  • URL에 데이터가 노출되지 않으므로 캐싱 불가
  • 클라이언트에서 인코딩, 서버에서 디코딩
  • 요청받는 시간제한 존재
  • 브라우저 히스토리에 기록이 남지 않음

 

 

GET 과 POST 의 차이점 

 

  • 사용목적 : GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용한다.
  • DB로 따지면 GET은 SELECT 에 가깝고, POST는 Create 에 가깝다고 보면 된다.

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

  • 멱등성 (idempotent) : GET 요청은 멱등이며, POST는 멱등이 아니다.
    •  멱등 : 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미

 

 

 

 

 

참고 

https://cocoon1787.tistory.com/526

https://noahlogs.tistory.com/35

'개발지식 백과사전' 카테고리의 다른 글

[네트워크] TCP 3-way-handshake , 4-way-handshake  (0) 2023.04.17
CORS  (0) 2022.03.22
TCP 와 UDP  (0) 2022.03.22
callback , promise, async/await  (0) 2022.03.22
동기와 비동기  (0) 2022.03.22