हमारे पास संसाधनों का एक डेटाबेस है, वे उत्पाद, ब्लॉग पोस्ट या कुछ और हैं। हमें सार्वजनिक वेबसाइट के लिए, उन्हें संबोधित करने के लिए एक URL योजना डिज़ाइन करने की आवश्यकता है।
यहाँ दो उदाहरण हैं जो डेटाबेस आईडी बाउंड हैं:
यहाँ एक उदाहरण है जो अनुकूल है:
(वहाँ मेरे ब्राउज़िंग जीवन में एक छोटी सी झलक)
जब से आपको ईमेल करने या दस्तावेज़ में देखने या उसे देखने के बाद URL के अंत में क्या है, इस बारे में आपके विचार से मुझे दोस्ताना URL पसंद है। यह एसईओ के लिए बेहतर है, या यह हुआ करता था।
दस्तावेज़ या उत्पाद का नाम बदलने पर क्या होता है? या तो क्योंकि यह बदल गया (विकी नहीं बदल सकता है लेकिन हमारे संसाधन बदल सकते हैं) या एक टाइपो के कारण, सही? हमारे संसाधन बहुत ही तकनीकी, लंबे शब्द और त्रुटि प्रवण हैं।
इसके अलावा, हमारे पास एक डेटाबेस आईडी है, जो एक नंबर है। आइए एक नाटक के किराये की दुकान का उपयोग करते हुए एक वीडियो के पते के लिए एक विचार देखें:
आईडी स्पष्ट है और इसका उपयोग डीबी लुक-अप में किया जाता है। ठीक।
स्लाइडिंग-दरवाजे बिट गैर-अद्वितीय है और सिर्फ वीडियो शीर्षक से उत्पन्न होता है, इसे जीईटी पर सत्यापित किया जा सकता है, इसलिए यदि ग्लाइडिंग-दरवाजे दर्ज किए गए थे और मेल नहीं खाता है कि वास्तव में डॉक्टर 287171 में इसका जवाब 404 है।
या शायद इसे नजरअंदाज किया जा सकता है, जिससे इंसानों को वहां जो कुछ भी पसंद है उसे छड़ी करने की अनुमति मिलती है, अगर किसी ने कभी परवाह की। तो यह URL भी काम करेगा:
मित्रवत भाग को सत्यापित करने के साथ समस्या है, जैसा कि उल्लेख किया गया है, नाम बदलने या टाइपो सुधार की समस्या। यदि नाम बदल गया है, और हमारे डोमेन में ऐसा होता है, तो हम उन URL को तोड़ना नहीं चाहते हैं जो वहाँ हैं, इसलिए हमें चाहिए:
बस मैत्रीपूर्ण भाग को सत्यापित न करें।
सत्यापित करें, लेकिन डेटाबेस रिकॉर्ड के लिए मैत्रीपूर्ण भागों का एक 'इतिहास' जोड़ें ताकि कोई भी पिछली दोस्ताना आईडी अभी भी काम करे!
आपके विचारों और विचारों का स्वागत है।
ल्यूक
http://programmers.stackexchange.com/questions/255684/providing-friendly-urls-for-a-website-vs-realities-of-database-ids
(शीर्षक परिवर्तनों के प्रकाश में एक गैर-सत्यापित संस्करण का उपयोग करके, यह भी छोटा "शेयर" लिंक सिर्फ आईडी है:http://programmers.stackexchange.com/q/255684/25768
(और बैज ट्रैकिंग के लिए उपयोगकर्ता आईडी)