DevToolPal
한국어
4xx 클라이언트 오류

428 Precondition Required

전제 조건 필요

의미

업데이트 손실을 막기 위해 서버가 요청이 조건부(If-Match 등)이기를 요구합니다.

흔한 원인

  • 낙관적 잠금을 강제하는 API에 If-Match 없이 PUT이나 PATCH를 보냄

해결 방법

클라이언트 또는 방문자라면

리소스를 GET해 ETag를 얻고, 업데이트할 때 If-Match에 넣어 보내세요.

사이트나 API 운영자라면

어떤 헤더가 필요한지 본문에서 설명하세요.

응답 예시

HTTP/1.1
HTTP/1.1 428 Precondition Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Precondition Required",
  "status": 428,
  "detail": "Send If-Match with the ETag you last read."
}

명세

RFC 6585 §3

자주 묻는 질문

› API가 If-Match를 요구하는 이유는?

두 클라이언트가 모르는 사이에 서로의 변경을 덮어쓰는 것을 막기 위해서입니다.

› 428과 412의 차이는?

428: 전제 조건을 보내지 않음. 412: 보냈지만 실패함.