TrueURL
TrueURL

메뉴

428 전제 조건 필요

여러 클라이언트가 같은 리소스를 편집할 때 변경 사항이 유실되지 않도록, 서버가 조건부 요청(If-Match)을 요구합니다.

사유 구절
Precondition Required
리디렉션 여부
아니요
기본 캐시 가능 여부
아니요

428 Precondition Required(RFC 6585)는 원본 서버가 조건부 요청을 요구한다는 뜻입니다. 이 코드는 “변경 사항 유실(lost update)” 문제를 막습니다. 클라이언트가 리소스를 읽고 수정한 뒤 PUT으로 다시 쓰면서, 그사이 다른 사람이 변경한 내용을 덮어쓰는 문제입니다.

서버는 조건 없는 쓰기 요청에 428로 응답해, 클라이언트가 읽어 온 ETag를 담아 If-Match를 보내도록 강제합니다. 그러면 리소스가 변경된 경우 조건부 요청이 데이터를 조용히 덮어쓰는 대신 412 Precondition Failed로 실패합니다. 응답에는 요청을 다시 제출해 성공하는 방법을 설명해야 합니다.

응답 예시

HTTP
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71

{"error":"Send If-Match with the current ETag to update this resource"}

SEO 및 리디렉션 검사

SEO에는 영향이 없습니다. 428은 API와 공동 편집의 쓰기 요청에 적용되며, 크롤러의 GET 요청으로는 발생하지 않습니다.

주요 원인과 사용 사례

  • API가 PUT, PATCH, DELETE에 If-Match를 요구하는데 클라이언트가 보내지 않았습니다.
  • 공동 문서 편집 서비스가 낙관적 잠금을 강제합니다.
  • ETag를 지원하지 않는 클라이언트 라이브러리가 이런 API와 통신합니다.

URL 리디렉션 검사

무료 TrueURL 리디렉션 검사 도구로 URL이 반환하는 모든 상태 코드를 홉별로 확인하세요.