HTTP 판단 흐름

HTTP 메서드, 상태, 헤더, 캐시 판단 흐름

HTTP는 요청 메서드와 상태 코드만 외우는 것이 아니라 안전성, 멱등성, 캐시 가능성, 헤더 의미를 함께 판단해야 합니다.

01

메서드 선택

조회는 GET, 생성은 POST, 전체 교체는 PUT, 부분 수정은 PATCH처럼 의미를 맞춥니다.

method
02

요청 헤더 구성

Accept, Content-Type, Authorization, If-None-Match처럼 서버 판단에 필요한 정보를 담습니다.

headers
03

상태 코드 결정

성공, 클라이언트 오류, 서버 오류를 구분하고 같은 실패를 200으로 숨기지 않습니다.

status
04

캐시 정책

Cache-Control, ETag, Vary로 브라우저와 CDN이 무엇을 재사용할지 정합니다.

cache
05

관측 연결

request id, latency, upstream 상태를 로그와 응답 헤더에 연결합니다.

ops
GET
안전한 조회 서버 상태를 바꾸지 않아야 하며 캐시와 링크 공유에 적합합니다.
body 사용 피함
POST
생성 또는 명령 멱등성이 보장되지 않는 작업에 쓰며 중복 제출 방지 키가 필요할 수 있습니다.
idempotency key
PATCH
부분 변경 변경할 필드와 충돌 조건을 명확히 해야 예기치 않은 덮어쓰기를 막습니다.
If-Match 고려

상태 코드·캐시 계약

상태 코드 일관성 인증 실패, 권한 부족, 리소스 없음, 검증 실패를 다른 코드로 구분합니다.
캐시 안전성 개인화 응답은 CDN이나 공유 캐시에 잘못 저장되지 않게 합니다.
헤더 의미 Content-Type과 Accept가 맞지 않으면 같은 URL도 다른 결과를 낼 수 있습니다.