DevToolPal
VI
4xx Lỗi phía máy khách

428 Precondition Required

Cần điều kiện tiên quyết

Ý nghĩa

Máy chủ yêu cầu yêu cầu phải có điều kiện (If-Match v.v.) để tránh mất cập nhật.

Nguyên nhân thường gặp

  • PUT hoặc PATCH không có If-Match trên API bắt buộc khóa lạc quan

Cách khắc phục

Nếu bạn là máy khách hoặc người truy cập

GET tài nguyên, lấy ETag của nó và gửi trong If-Match cùng bản cập nhật.

Nếu bạn quản lý trang web hoặc API

Giải thích trong phần thân header nào là bắt buộc.

Phản hồi mẫu

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."
}

Đặc tả

RFC 6585 §3

Câu hỏi thường gặp

› Vì sao API bắt buộc If-Match?

Để hai client không vô tình ghi đè thay đổi của nhau mà không hay biết.

› 428 hay 412?

428: không gửi điều kiện nào. 412: có gửi nhưng không thỏa.