저장소 logo 저장소

1. GET vs POST 비교

GET과 POST의 차이는 주로 사용 목적과 데이터 전달 방식에서 나타난다.

구분 GET POST
주요 역할 리소스 조회 데이터 처리 및 생성
데이터 위치 URL의 Query String 메시지 바디 (Body)
캐싱 가능 일반적으로 제한적
브라우저 기록 URL 기준으로 남을 수 있음 URL에 본문 데이터가 직접 남지 않음
보안성 URL에 데이터가 노출될 수 있음 Body로 전달되지만 HTTPS 없이는 안전하지 않음

2. GET의 특징

예시

GET /users?id=10 HTTP/1.1

3. POST의 특징

예시

POST /users HTTP/1.1
Content-Type: application/json

{
  "name": "TEST"
}

4. PUT vs PATCH 차이

둘 다 리소스 수정에 사용되지만 수정 범위가 다르다.

PUT

PATCH


5. 코드 예시로 보는 PUT vs PATCH

기본 데이터는 다음과 같다.

{
  "name": "Noname",
  "language": "JAVA"
}

PUT 요청

{
  "name": "TEST"
}

결과 예시

{
  "name": "TEST"
}

PUT은 리소스를 전체 대체하므로 기존 language 필드가 유지되지 않을 수 있다.

PATCH 요청

{
  "name": "TEST"
}

결과 예시

{
  "name": "TEST",
  "language": "JAVA"
}

PATCH는 요청한 필드만 부분 수정하므로 나머지 필드는 유지된다.


추가 정리


핵심 정리

GET은 조회, POST는 처리 또는 생성, PUT은 전체 수정, PATCH는 부분 수정에 주로 사용한다.

메서드 선택은 기능 목적과 멱등성 여부를 기준으로 판단하는 것이 핵심이다.


« 단방향과 양방향(대칭/비대칭)
쿠키(Cookie)와 세션(Session... »