इसका मतलब
खोए हुए अपडेट रोकने के लिए सर्वर चाहता है कि अनुरोध सशर्त हो (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."
} स्पेसिफ़िकेशन
अक्सर पूछे जाने वाले सवाल
› कोई API If-Match क्यों माँगता है?
ताकि दो क्लाइंट बिना जाने एक-दूसरे के बदलाव न मिटा दें।
› 428 या 412?
428: कोई पूर्व शर्त नहीं भेजी गई। 412: भेजी गई पर विफल रही।