@ धरिक के जवाब के अलावा।
यूआरआई पहचानकर्ता होते हैं , इसलिए हमें यह ध्यान रखना होगा कि ( /a/{id}/b
एक पहचानकर्ता है)। यूआरआई WWW के लिए कोई मतलब नहीं है, और इसलिए HTTP ग्राहक के लिए है।
404 सही उत्तर है । संक्षेप में, सर्वर जवाब दे रहा है
मुझे ऐसी आईडी से कोई संसाधन नहीं मिला। संसाधन
1 नहीं मिला
क्या लापता संसाधन माता - पिता या बच्चे से कोई फर्क नहीं पड़ता।
हम, डेवलपर्स, URI में पदानुक्रम और पथ देखते हैं , लेकिन HTTP क्लाइंट नहीं है। दूसरे शब्दों में, HTTP का अर्थ केवल HTTP क्लाइंट द्वारा व्याख्या किया जाना है, लेकिन मनुष्यों (देवों, अंत उपयोगकर्ताओं, आदि) द्वारा नहीं।
संदेह के मामले में, यह न पूछें कि आपके (मानव) के लिए क्या कोड मायने रखता है। पूछो, क्या कोड HTTP क्लाइंट के लिए समझ में आता है। आप HTTP क्लाइंट को कैसे व्यवहार करना चाहते हैं?
क्यों? क्योंकि कुछ स्टेटस कोड के कारण इन क्लाइंट्स को कुछ ऑपरेशन करने पड़ते हैं। उदाहरण के लिए, 302 । यह कोड आमतौर पर वेब ब्राउजर्स को रिस्पॉन्स हेडर में सूचित किसी विशिष्ट स्थान (URI) पर पुनर्निर्देशित करता है।
यह आपका मामला नहीं हो सकता है, लेकिन जागरूक होना महत्वपूर्ण है। अंततः, HTTP स्थिति कोड HTTP क्लाइंट को संबोधित किए जाते हैं। हमारे अनुप्रयोगों के लिए नहीं। व्यक्तियों को नहीं।
1: 409 को नेविगेशन त्रुटि के रूप में शायद ही कभी लागू किया जाता है। इसमें आमतौर पर रिमोट ऑपरेशन (डिलीट, अपडेट, नया आदि) का निष्पादन शामिल है। लेकिन यूआरआई मौजूद होना चाहिए। अन्यथा, 404 प्रबल होगा