DevToolPal
ع
4xx أخطاء العميل

428 Precondition Required

الشرط المسبق مطلوب

ماذا يعني

يتطلب الخادم أن يكون الطلب مشروطًا (If-Match وما شابه) لمنع ضياع التحديثات.

الأسباب الشائعة

  • PUT أو PATCH دون If-Match على واجهة تفرض القفل المتفائل

طريقة الإصلاح

إن كنت العميل أو الزائر

اجلب المورد بـ GET، وخذ الـ ETag الخاص به، وأرسله في If-Match مع تحديثك.

إن كنت مسؤولًا عن الموقع أو الواجهة البرمجية

اشرح في الجسم الترويسة المطلوبة.

مثال على الاستجابة

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

الأسئلة الشائعة

› لماذا تتطلب واجهة ما If-Match؟

لمنع عميلين من الكتابة فوق تغييرات أحدهما الآخر دون أن يلاحظا.

› 428 أم 412؟

428: لم يُرسل أي شرط مسبق. 412: أُرسل شرط لكنه فشل.