본문 바로가기

React

[React] 🚀GET과 POST의 차이점, 언제 어떤 걸 써야 할까?

0. 들어가면서

GET과 POST는 프론트엔드 개발자라면 너무 익숙한 개념이고 자주 쓰인ㄷ.

하지만 정작 저는 관성적으로, 혹은 습관적으로 이 둘을 사용해왔을 뿐

정확한 개념과 어떤 상황에 알맞는 메서드를 사용해야하는지 모른 채로 개발을 했었기에

이번 기회에 제대로 알아보고 정리하고 한다.

 

 


 

1. GET과 POST란?

먼저 개념 용어 정리를 해보겠다.

GET과 POST는 HTTP 요청 메서드 중 가장 기본적인 두 가지로,

클라이언트가 서버와 데이터를 주고받을 때 사용된다.

  • GET: 데이터를 요청할 때 사용됨 (예: 웹 페이지를 열거나 특정 데이터를 조회할 때)
  • POST: 데이터를 서버에 제출하거나 저장할 때 사용됨 (예: 회원가입, 로그인, 폼 제출 등)

 


 

 

2. GET과 POST의 차이점

 

GET과 POST의 차이점을 표를 통해 알아보겠습니다.

구분 GET POST
목적 데이터 조회 데이터 전송
데이터 전달 방식 URL에 쿼리 스트링(?key=value)으로 포함 요청 본문(Body)에 포함
보안 URL에 노출되므로 민감한 데이터 전송에 부적합 URL에 노출되지 않아 상대적으로 안전
캐싱 가능 (브라우저가 캐싱할 수 있음) 불가능 (항상 서버에 요청)
길이 제한 브라우저마다 다르지만, 일반적으로 2048자 이하 제한 없음
중복 요청 같은 요청이면 브라우저가 캐싱된 데이터를 반환할 수도 있음 항상 새 요청이 서버로 전송됨

 


 

3. 언제 GET을 사용해야 할까?

  • 데이터를 변경하지 않고 조회할 때 (예: 뉴스 기사 보기, 검색 결과 보기) 
  • 동일한 요청에 대해 캐싱이 가능해야 할 때
  • 브라우저 주소창에 저장하거나 공유해야 하는 데이터일 때
fetch("https://api.example.com/users?name=John")
  .then(response => response.json())
  .then(data => console.log(data));

 

 

 


 

 

4. 언제 POST를 사용해야 할까?

  • 서버에 데이터를 저장하거나 변경할 때 (예: 회원가입, 게시글 작성)
  • 중요한 데이터를 보낼 때 (예: 로그인, 결제 정보 전송)
  • GET의 길이 제한을 초과하는 데이터를 전송할 때
fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ name: "John", age: 25 })
})
  .then(response => response.json())
  .then(data => console.log(data));

 


 

5. 정리

  • GET은 데이터를 조회할 때, POST는 데이터를 전송하거나 변경할 때 사용한다.
  • GET은 URL에 데이터가 노출되므로 보안이 필요한 요청에는 부적합하다.
  • POST는 데이터를 본문에 담아 전송하므로 보안상 더 적합하지만, 브라우저에서 캐싱되지 않는다.
  • 각 메서드의 특성을 고려하여 적절한 상황에서 사용하는 것이 중요하다!