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


45

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

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

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


2
उदाहरण के द्वारा सबूत का एक प्रकार के रूप में, वे मौजूद हैं: 7dayshop.com
होलोवे

3
केवल अंकीय होस्टनाम के बारे में कैसे? 88888888.cn
小太郎

7
4chan.comएक मान्य (और प्रसिद्ध) होस्ट नाम है जो एक नंबर से शुरू होता है।
IQAndreas

3
9gag.com को कैसे भूल सकते हैं ? : D
ADTC

8
@IQAndreas, 4chan.org इसे अवैध बनाने के लिए एक अच्छा पर्याप्त कारण है । (बस मजाक कर रहे अनाम, मुझे चोट नहीं पहुंचाई।)
पॉल रूआन

जवाबों:


33

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

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

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

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

इसके अलावा, आप पाएंगे कि कार्यान्वयन हमेशा RFC 952 के अन्य मूल अवरोधों का सम्मान नहीं करते हैं, उदाहरण के लिए होस्टनाम को माइनस साइन या अवधि के साथ समाप्त करने की अनुमति देता है।

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

अद्यतन टिप्पणी में अनुरोध के अनुसार, वाक्य के लिए स्पष्टीकरण: हालाँकि, एक मान्य होस्ट नाम में डॉटेड-दशमलव फ़ॉर्म कभी भी # नहीं हो सकता है। #। #। #, क्योंकि कम से कम उच्चतम-स्तरीय घटक लेबल अल्फ़ाबेटिक होगा । इसका मतलब है कि शीर्ष स्तर का डोमेन नाम वर्णनात्मक होना चाहिए , इस प्रकार पूरी तरह से योग्य होस्टनाम IPv4 पते से भ्रमित नहीं हो सकता है। यह विचार DNS के लिए RFC 3696 द्वारा स्पष्ट किया गया है और इसे ऑल-न्यूमेरिक में नहीं बदला गया है । मामूली अंतर पर ध्यान दें।


7
ध्यान रखें कि कार्यान्वयन जो 1980 के दशक में वापस आए नामों में अंकों को संभाल नहीं सके; RFC 1178 1990 में प्रकाशित किया गया था। जो कुछ भी अब इसे संभाल नहीं सकता है वह बस छोटी गाड़ी है।
माइकल हैम्पटन

@Michael Hampton आपको आश्चर्य होगा कि कितने कार्यान्वयन अभी भी इन RFC को सम्मानित नहीं करते हैं। अपने लिनक्स से शुरू करके फ़ाइल को संभालता है।
जेवियर लुकास

11
हाहा, नहीं मैं नहीं होगा। मुश्किल से एक दिन होता है कि मेरे पास आरएफसी के साथ सिर पर कुछ डेवलपर को हरा देने का कारण नहीं है।
माइकल हैम्पटन

2
@ मिचेल हैम्पटन: आपको विश्वास नहीं होता कि मैं कई बार देवों से मिलता हूं। कुछ हफ़्ते पहले मेरे पास एक था जिसने एक आईपी-कैमरे में नेटवर्क-कॉन्फिग वेबपेज बनाया था ताकि उपयोगकर्ता कैमरे के लिए होस्टनाम दर्ज कर सके। उन्होंने मुफ्त-प्रारूप उपयोगकर्ता-इनपुट पर कोई सत्यापन नहीं किया। बीटा-परीक्षण उपयोगकर्ता ने "कक्ष 1.10" में प्रवेश किया और कैमरा खुशी से डीएचसीपी ग्राहक पहचानकर्ता के रूप में भेजता है। मैं आपको आश्वस्त कर सकता हूँ कि Microsoft DHCP और DNS सर्वर पसंद नहीं करते। इससे पहले कि मैं निर्माण में मिला अच्छी बात है। मैं केवल उस विचार पर थरथरा सकता हूं जो कभी-कभी ग्राहक को मिलता है ...
टॉनी

13

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

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


क्या पूरे डोमेन नाम को वास्तव में isValid विधि में पारित करने की आवश्यकता है? सब InternetDomainName.isValid("server");सच होने के बाद ।
मार्क

@ मार्क ओके, मैंने उसी के अनुसार जवाब अपडेट किया
सेलाइन ऑसॉरड

9

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

http://9292.nl/

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


3
बहुत अधिक हैं: 9gag.com , 4chan.org , आदि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.