항목 GET POST
기능 조회(Read) 생성(Create), 전송
데이터 위치 URL 쿼리스트링에 포함 HTTP Body에 포함
URL 노출 ❗됨 (북마크/기록에 남음) ✅ 안 됨
데이터 크기 제한 있음 (브라우저/서버마다 다름) 상대적으로 없음
캐싱 가능 (브라우저가 캐싱함) 기본적으로 안 함
멱등성 ✅ 있음 (같은 요청 = 같은 결과) ❌ 없음 (같은 요청이라도 매번 결과 달라질 수 있음)
보안 낮음 (데이터가 주소창에 노출) 상대적으로 안전함 (하지만 암호화는 따로 필요)

✅ 1. 데이터 전달 방식의 차이

📌 GET

📎 주소창에 그대로 보이기 때문에:


📌 POST

📎 주소창에 안 보임 → 조금 더 안전, 많은 양 전송 가능


✅ 2. 멱등성 (Idempotency)

💡 멱등성 = "같은 요청을 몇 번 보내도 결과가 같다"

메서드 멱등성 여부 의미
GET 여러 번 조회해도 항상 같은 결과
POST 같은 요청이라도 새로 생성되거나, 중복 저장될 수 있음

📌 예: 같은 상품을 POST로 주문하면, 두 번 주문될 수 있음