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 |