सवाल क्या यह एक होस्टनाम के लिए एक अंक से शुरू करने के लिए मान्य है?


क्या यह एक होस्टनाम के लिए एक अंक से शुरू करने के लिए मान्य है? जैसे 8server

पढ़ने से आरएफसी 1123 ऐसा लगता है कि यह एक वैध होस्टनाम है। हालांकि, मैं इस बात पर स्पष्ट नहीं हूं कि कोई होस्टनाम केवल एक अंक के साथ शुरू हो सकता है जब प्रत्यय हो। 8server.com

इस सवाल की उत्पत्ति यह है कि InternetDomainName.isValid("8server"); Google Guava लाइब्रेरी में (जावाडोक) इनपुट को खारिज कर देता है। मैंने भी एक विशिष्ट सवाल पोस्ट किया अमरूद चर्चा करें समूह।


40
2017-10-20 09:24


मूल


उदाहरण के अनुसार एक प्रकार के सबूत के रूप में, वे मौजूद हैं: 7dayshop.com - Holloway
एक अंक-केवल होस्टनाम के बारे में कैसे? 88888888.cn - 小太郎
4chan.com एक मान्य (और जाने-माने) होस्ट नाम है जो किसी संख्या से शुरू होता है। - IQAndreas
आप कैसे भूल सकते हैं 9gag.com? : डी - ADTC
@IQAndreas, 4chan.org इसे बनाने का एक अच्छा कारण है अमान्य। (बस गुमनाम मजाक कर, मुझे चोट मत दो।) - Paul Ruane


जवाब:


आरएफसी 1123 आरएफसी 952 की बाधा को आराम देता है जो कि की विरासत निर्दिष्ट करता है होस्टनाम सर्वर प्रोटोकॉल (में वर्णित आरएफसी 953) डीएनएस द्वारा प्रतिस्थापित किया गया। तो इन आरएफसी के अनुसार एक पूर्ण संख्यात्मक होस्टनाम मान्य होगा।

आईपी ​​बनाम होस्टनाम पार्सिंग की बात आती है जब आरएफसी 1123 स्वयं परिणामों पर चर्चा करता है:

यदि बिना बिंदीदार दशमलव संख्या दर्ज की जा सकती है              delimiters की पहचान, तो एक पूर्ण वाक्य रचना जांच होना चाहिए              बनाया, क्योंकि एक खंड एक होस्ट डोमेन नाम अब अनुमति है              एक अंक से शुरू करने के लिए और कानूनी रूप से पूरी तरह से संख्यात्मक हो सकता है              (खंड 6.1.2.4 देखें)। हालांकि, वैध होस्ट नाम कभी नहीं हो सकता है              बिंदीदार दशमलव फॉर्म #। #। # है, कम से कम              उच्चतम स्तर का घटक लेबल वर्णमाला होगा।

हालांकि, यह प्रदान किया गया था आरएफसी 1178 कार्यान्वयन के मुद्दों के कारण वैध होस्टनाम चुनने के लिए दिशानिर्देश। इनमें से बहुत से कार्यान्वयन संख्यात्मक होस्टनामों को अच्छी तरह से नहीं पहचानते हैं और उन्हें पार्स करने का प्रयास करते हैं जैसे कि वे आईपी थे जब तक कि उनमें कम से कम एक गैर-संख्यात्मक चरित्र न हो, चाहे कोई स्थान चाहे।

साथ ही, आप पाएंगे कि कार्यान्वयन हमेशा आरएफसी 952 की अन्य मूल बाधाओं का सम्मान नहीं करते हैं, उदाहरण के लिए मेजबाननाम को ऋण चिह्न या अवधि के साथ समाप्त करने की अनुमति देता है।

DNS ने होस्ट नामों के लिए इन मूल विनिर्देशों को संरक्षित किया और अंडरस्कोर के लिए अतिरिक्त समर्थन (आरएफसी 2782)।

अद्यतन करें टिप्पणियों में अनुरोध के रूप में, वाक्य के लिए स्पष्टीकरण: हालांकि, एक वैध होस्ट नाम में कभी भी बिंदीदार-दशमलव रूप नहीं हो सकता है #। #। #, क्योंकि कम से कम उच्चतम स्तर का घटक लेबल वर्णमाला होगा। इसका मतलब है कि शीर्ष स्तर का डोमेन नाम होना चाहिए वर्णानुक्रमक, इस प्रकार पूरी तरह से योग्य मेजबाननाम कभी भी आईपीवी 4 पते से उलझन में नहीं जा सकता है। इस विचार को स्पष्ट किया गया है आरएफसी 36 9 6 DNS के लिए और बदल गया सभी संख्यात्मक नहीं। थोड़ा अंतर ध्यान दें।


29
2017-10-20 10:10



ध्यान रखें कि कार्यान्वयन जो 1 9 80 के दशक के नाम पर अंकों को संभाल नहीं सकता था; आरएफसी 1178 1 99 0 में प्रकाशित हुआ था। कुछ भी जो इसे संभाल नहीं सकता है अभी व बस छोटी गाड़ी है। - Michael Hampton♦
@ माइकल हैम्पटन आप कितने कार्यान्वयन से आश्चर्यचकित होंगे फिर भी इन आरएफसी का सम्मान न करें। आपके लिनक्स होस्ट फ़ाइल से हैंडलिंग से शुरू हो रहा है। - Xavier Lucas
हाहा, नहीं, मैं नहीं करूंगा। मुश्किल से एक दिन मैं जाता हूं नहीं एक आरएफसी के साथ सिर पर कुछ डेवलपर को हरा करने का कारण है। - Michael Hampton♦
@ माइकल हैम्पटन: आप कभी-कभी देवताओं से मिलने वाली छल पर विश्वास नहीं करेंगे। कुछ हफ्ते पहले मेरे पास एक ऐसा व्यक्ति था जिसने आईपी-कैमरा में नेटवर्क-कॉन्फ़िगर वेबपेज बनाया था ताकि उपयोगकर्ता कैमरे के लिए होस्टनाम दर्ज कर सके। उन्होंने फ्री-प्रारूप उपयोगकर्ता-इनपुट पर कोई सत्यापन नहीं किया। बीटा-टेस्ट उपयोगकर्ता "कक्ष 1.10" दर्ज किया गया और कैमरा खुशी से उसे डीएचसीपी क्लाइंट पहचानकर्ता के रूप में भेजता है। मैं आपको आश्वस्त कर सकता हूं कि माइक्रोसॉफ्ट डीएचसीपी और डीएनएस सर्वर इसे पसंद नहीं करते हैं। उत्पादन निर्माण में शामिल होने से पहले मैंने जो अच्छी बात देखी थी। मैं केवल इस विचार पर चिल्ला सकता हूं कि कभी-कभी ग्राहक के माध्यम से क्या मिलता है ... - Tonny


मूल रूप से होस्टनाम एक अंक या अंडरस्कोर से शुरू नहीं हो सका (आरएफसी 952) लेकिन जैसा कि आपने उल्लेख किया है, नया विनिर्देश आरएफसी 1123, इसे अनुमति देता है।

कॉल के बारे में isalid (), इस मामले में, पूर्ण डोमेन नाम पैरामीटर में पारित किया जाना चाहिए: InternetDomainName.isValid("8server.com");


12
2017-10-20 09:40



क्या एक पूर्ण डोमेन नाम वास्तव में isValid विधि को पारित करने की आवश्यकता है? आख़िरकार InternetDomainName.isValid("server"); सच आता है। - Mark
@ मार्क ओके, मैंने तदनुसार जवाब अपडेट किया - Céline Aussourd


हाँ। आरएफसी 1123 स्पष्ट रूप से इसे अनुमति देता है और यहां एक उदाहरण है:

http://9292.nl/

यह डच सार्वजनिक परिवहन के लिए मार्ग योजनाकार है।


8
2017-10-20 12:42



बहुत कुछ हैं: 9gag.com, 4chan.org, आदि।