428 Precondition Required (RFC 6585) का मतलब है कि ओरिजिन सर्वर चाहता है कि रिक्वेस्ट कंडीशनल हो। यह “lost update” यानी अपडेट खो जाने की समस्या से बचाता है: कोई क्लाइंट एक रिसोर्स पढ़ता है, उसे बदलता है और PUT से वापस लिख देता है, जिससे इस बीच किसी और के किए बदलाव ओवरराइट हो जाते हैं।
बिना शर्त वाले राइट का जवाब 428 से देकर सर्वर क्लाइंट को मजबूर करता है कि वे पढ़े गए ETag के साथ If-Match भेजें। अगर रिसोर्स बदल गया है, तो कंडीशनल रिक्वेस्ट चुपचाप डेटा ओवरराइट करने की जगह 412 Precondition Failed के साथ फ़ेल हो जाती है। रिस्पॉन्स में बताया जाना चाहिए कि रिक्वेस्ट को सफलतापूर्वक दोबारा कैसे भेजा जाए।
उदाहरण रिस्पॉन्स
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 से बात करती है।