프론트/front-end

[프론트엔드] GET과 POST 차이

연지양갱 2023. 10. 11. 23:54
728x90
반응형
SMALL

Request를 요청했을 때 GET과 POST 방식이 있다는 것은 개발자라면 알고 있을 내용입니다.

그래서 GET과 POST를 비교하고 특징을 정리하겠습니다!

 

 

GET 메소드란?

 GET은 HTTP 프로토콜에서 가장 일반적으로 사용되는 메소드 중 하나로, 특정 리소스의 표현을 요청하는 데 사용됩니다.

 

 

GET 메소드의 특징

  • GET 요청은 URL에 매개변수를 추가하여 서버에 데이터를 전송합니다.
  • GET은 주로 조회 작업을 수행할 때 사용됩니다.
  • GET 요청은 브라우저에 캐시할 수 있습니다.
  • URL에 매개변수가 포함되므로 길이 제한이 있습니다.
  • 보안이 필요한 데이터(예 : 비밀번호)를 전송하는 데는 적합하지 않습니다.

 

 

POST 메소드란?

POST는 클라이언트가 서버의 리소스를 생성하거나 업데이트 하려 할 때 주로 사용하는 HTTP 메소드입니다.

 

 

POST 메소드의 특징

  • POST 요청은 HTTP 메시지 본문에 데이터를 포함하여 서버에 전송합니다.
  • POST는 주로 서버 상태 변경을 위해 사용됩니다.
  • POST 요청은 기본저그오 브라우저에 캐시되지 않습니다
  • URL에 데이터가 포함되지 않으므로 GET보다 많은 양의 데이터를 보낼 수 있으며, 이론상으로 크기 제한이 없습니다.
  • 본문(body)내부에 데이터가 포함되므로, 비밀번호 같은 보안 정보도 안전하게 전송할 수 있습니다.

 

 

 

 

GET과 POST 비교

  1. 데이터 위치 : GET방식은 URL 내부(query string)에 정보가 들어있고, POST방식은 HTTP body 안에 정보가 들어감
  2. 데이터 길이 : GET방식의 경우 URL길이 제한 때문에 보낼 수 있는 정보량이 제한적이지만 POST는 이론적으로 무제한의 양을 전달 가능
  3. 보안 : GET방식은 모든 파라미터들이 URL 상에 나타나기 때문에 중요 정보(비밀번호 등)를 다루기 어려운 반면, POST 방식에서는 body부분에서 처리하기 때문에 상대적으로 안전
  4. 캐싱과 북마크 : GET 요청된 결과들을 웹브라우저에서 캐싱할 수 있으며, 북마크로 저장가능하지만 POST 불가능
  5. 용도 : GET은 서버의 리소스를 조회하는 데 사용, POST는 서버의 상태를 변경하거나 새 리소스를 생성하는데 사용
  6. Idempotent(멱등성) : GET메소드는 멱등성을 가지지만 POST메소드는 멱등성이 없습니다.(** 멱등성 : 동일한 요청을 여러번 보내도 결과 동일)

 

 

 

 

즉,

데이터를 조회할 때 GET 방식, 데이터를 전송하거나 리소스 생성이라면 POST 방식을 사용하는게 안전하겠습니다!

 

 

 

반응형