HTTP 메서드 GET/POST 차이

cornpip
|2023. 9. 6. 17:37

HTTP GET/POST 차이

이 질문에 대한 대답은

"언제 어떤 메서드를 사용한다." 가 주대답이고 GET/POST 동작의 차이가 부가적인 대답같다.

 

언제 어떤 메서드를?

우리는 보통 API를 설계할 때

서버의 상태를 변화시키지 않고 정보를 조회하는 성격의 요청은 GET을 사용하고

서버의 상태를 변화시키는 요청이라면 POST, DELETE, PUT, PATCH 등 적절한 메서드를 사용한다.

 

동작 차이

GET

  • query string을 통해 데이터를 전송하고 길이에 제한이 있고 URL에 노출된다.
  • 브라우저 히스토리에 기록이 남고 서버 설정에 따라 캐싱이 가능하다.
    (캐싱이 가능하려면 당연히 브라우저 어딘가 기록이 있을 것이다.)

 

POST

  • body를 통해 데이터를 전송하고 데이터 크기에 제한은 없다. URL에 노출되지 않는다.
    (URL에 노출되지 않을 뿐 도구 확인하면 보이므로 민감한 데이터라면 암호화 후 전송이 필요하다.)
  • 브라우저 히스토리에 기록되지 않고 캐싱되지 않는다.

 

'Web' 카테고리의 다른 글

OAuth2 를 알아보자  (0) 2023.07.25
쿠키(cookie), 서버 <-> 클라이언트 set-cookie 에러 사항들  (0) 2023.07.21
CORS  (0) 2023.07.20