TrueURL
TrueURL

मेन्यू

412 Precondition Failed

रिक्वेस्ट हेडर की कोई शर्त, जैसे If-Match या If-Unmodified-Since, गलत निकली, इसलिए सर्वर ने बदलाव लागू नहीं किया।

रीज़न फ़्रेज़
Precondition Failed
रीडायरेक्ट
नहीं
डिफ़ॉल्ट रूप से कैश करने योग्य
नहीं

412 Precondition Failed का मतलब है कि रिक्वेस्ट हेडर की एक या ज़्यादा शर्तें गलत (false) निकलीं। यह फ़ेल हुए If-Match या If-Unmodified-Since का नतीजा है, या GET और HEAD के अलावा दूसरे मेथड पर फ़ेल हुए If-None-Match का। सर्वर ने मांगी गई कार्रवाई नहीं की।

इसका मुख्य मकसद अपडेट खोने से बचाना है (optimistic concurrency control)। क्लाइंट किसी रिसोर्स को उसके ETag के साथ पढ़ता है, उसे एडिट करता है और If-Match व उसी ETag के साथ बदलाव भेजता है। अगर इस बीच किसी और ने रिसोर्स बदल दिया, तो ETag मेल नहीं खाता, और सर्वर दूसरे बदलाव को ओवरराइट करने की जगह 412 लौटाता है। इसका इस्तेमाल If-None-Match: * के साथ भी होता है, ताकि रिसोर्स तभी बने जब वह पहले से मौजूद न हो।

GET और HEAD के लिए गलत निकला If-None-Match या If-Modified-Since 412 नहीं, बल्कि 304 Not Modified देता है।

उदाहरण रिस्पॉन्स

HTTP
HTTP/1.1 412 Precondition Failed
Date: Fri, 06 Nov 2026 10:15:32 GMT
ETag: "v8"
Content-Type: application/json
Content-Length: 52

{"error":"If-Match does not match the current ETag"}

SEO और रीडायरेक्ट जांच

412 API और WebDAV में कंडीशनल राइट के साथ आता है, क्रॉलिंग के साथ नहीं; क्रॉलर की कंडीशनल GET रिक्वेस्ट का नतीजा 304 या 200 होता है। अगर रीडायरेक्ट जांच में 412 दिखे, तो कस्टम रिक्वेस्ट हेडर में जोड़े गए If-* हेडर जांचें।

आम वजहें और इस्तेमाल

  • एक एडिट रिजेक्ट हो गया, क्योंकि पढ़े जाने के बाद रिसोर्स बदल गया था (ETag मेल नहीं खाया)।
  • If-None-Match: * ने किसी मौजूदा फ़ाइल को ओवरराइट होने से रोक दिया।
  • किसी क्लाउड स्टोरेज या CDN API को पुराने ETag के साथ कंडीशनल रिक्वेस्ट मिली।

URL रीडायरेक्ट चेकर

TrueURL के मुफ़्त रीडायरेक्ट चेकर से देखें कि कोई URL हर हॉप पर कौन-सा स्टेटस कोड लौटाता है।