एंडर्स के उत्तर के अलावा, मुझे कुछ मामलों का पता लगाने का एक तरीका मिला जहां 404 का समय परीक्षण हमले के साथ दुरुपयोग किया गया। हालांकि, यह शायद ही विश्वसनीय है।
- प्रमाणीकरण की आवश्यकता वाले संसाधन को छिपाने के लिए 403 के बजाय 404 भेजें।
अक्सर सर्वर, निर्धारित करने के लिए है कि "आप न इस संसाधन प्राप्त करने का अधिकार है" और अधिक समय की जरूरत है क्योंकि वे बाह्य संसाधनों को और अधिक roundtrips जरूरत डेटाबेस की तरह है, तो वे निर्धारित करने के लिए "इस वहाँ नहीं है" की जरूरत है, अक्सर यहां तक कि कैश करने योग्य और जल्दी से निर्धारित करने के लिए।
आरडीबीएस के साथ एक एमवीसी अनुप्रयोग में एक सामान्य उदाहरण बैकएंड के रूप में एक सरल SELECT COUNT(id) FROM articles WHERE id=123 LIMIT 1
और अधिक जटिल SELECT access FROM accesses JOIN articles ON articles.id = accesses.foreign_id WHERE articles.id = 123 AND accesses.type='articles' AND accesses.user_id = (SELECT id FROM users WHERE token='t0k3n' LIMIT 1)
के बीच का अंतर है। और इसका तात्पर्य यह है कि एप्लिकेशन इस तरह के एकल लाइन प्रश्नों को पहली जगह बना सकता है: अधिकतर अक्सर "उपयोगकर्ता को लाने, कुछ डेटा निकालने, अब एक चीज लाने के लिए, अब थिंग पूछें कि क्या उपयोगकर्ता इसे प्राधिकरण के माध्यम से एक्सेस कर सकता है- api "।
जब तक डेवलपर्स या साइट के ढांचे के इस मामले को कवर करने के ख्याल रखा, अक्सर आप समय में एक उल्लेखनीय अंतर 404.
- की दोनों ही मामलों की सेवा के लिए 404 के बजाय 500 भेजें देखेंगे, तथ्य छिपाने के लिए कुछ काम नहीं कर रहा है।
आमतौर पर, कुछ कोड चलने के बाद ही क्रैश या अप्रत्याशित त्रुटियां होती हैं। 404-पहचान अक्सर शुरुआती होती है: आखिरकार, यह निर्धारित करना सस्ता है कि कुछ नहीं है (ऊपर देखें)। जबकि त्रुटि बाद में होगी। जिसका अर्थ है कि इस तरह के एक 500-छुपा के रूप में 404 त्रुटि, अक्सर एक बहुत लंबे समय तक ले जाएगा आप तो एक सामान्य 404.
- तक पहुंचने के लिए 404 भेजें जब आपके आईपी किसी कारण से अवरुद्ध है।
यहां, कार्यान्वयन के आधार पर समय अक्सर दूसरी तरफ होता है। इस तरह के आईपी-अवरुद्ध को अक्सर वेब-एप (सीएमएस इत्यादि) के बाहर रखा जाएगा क्योंकि यह स्टैक में उच्चतम को संभालने के लिए बहुत आसान और निष्पादक है: वेबसर्वर, प्रॉक्सी इत्यादि हालांकि, जब एप्लिकेशन स्वयं ही ख्याल रखता है यह, वास्तविक 404 उत्पन्न करना अक्सर उचित रूप से सस्ता है, जबकि डेटाबेस में एक आईपी देखकर, मास्क लगाने और इतने पर, कुछ समय लगता है। 403 के रूप में 403 को छिपाने के समान।
स्रोत
2016-06-02 08:01:13
HTTP स्थिति कोड, जैसे 404, को HTTP प्रतिक्रिया को देखकर अधिक विश्वसनीय तरीके से प्राप्त किया जा सकता है। उदाहरण के लिए, देखें http://www.tcpipguide.com/free/t_HTTPResponseMessageFormat.htm –
@ ए। डार्विन मैं आपकी टिप्पणी को थोड़ा सा लिखूंगा और इसे उत्तर के रूप में पोस्ट करूंगा – Purefan
कुछ वेबपृष्ठ उद्धृत करते समय, कृपया एक सीधा लिंक शामिल करें आपको उद्धरण मिला है। धन्यवाद! – Anders