2010-08-19 14 views
52

होस्टनाम के वैध वर्ण क्या हैं? यह नेटवर्क नेटवर्क या वेब डोमेन जैसा कुछ होगा।होस्ट नाम के वैध वर्ण?

इसे संदर्भ में रखने के लिए, मैं एक पीसी गेम लिख रहा हूं जो रिमोट सर्वर से जुड़ता है; इसलिए मेरे पास होस्टनाम और बंदरगाह के लिए एक फ़ील्ड है। स्पष्ट रूप से बंदरगाह शॉर्ट रेंज में एक संख्या है, लेकिन मुझे यह जानने की ज़रूरत है कि सभी संभावित होस्टनाम वर्ण क्या हैं (और कोई अन्य पैटर्न जो आवश्यक हो सकता है - क्या होस्टनाम को एक अक्षर से शुरू करने की आवश्यकता है?)।

होस्टनाम के उदाहरणों में localhost या google.com शामिल हैं।

+2

linux [sethostname] (http://linux.die.net/man/2/sethostname) आदेश में प्रदान की जाती है किसी भी बाइट्स को स्वीकार करेंगे। – OrangeDog

उत्तर

57

चेकआउट इस wiki, विशेष खंड मान्य होस्ट नाम

होस्ट का नाम, डॉट्स के साथ concatenated लेबल की श्रृंखला से बना रहे हैं के रूप में सभी डोमेन नाम हैं पर प्रतिबंध। उदाहरण के लिए, "en.wikipedia.org" एक होस्टनाम है। प्रत्येक लेबल 1 और 63 वर्णों के बीच होना चाहिए, और संपूर्ण होस्टनाम (डिलिमिटिंग डॉट्स सहित, लेकिन पिछला बिंदु नहीं) में अधिकतम 253 ASCII वर्ण हैं।

प्रोटोकॉल के लिए इंटरनेट मानकों (टिप्पणियों के लिए अनुरोध) जरूरी है कि घटक होस्टनाम लेबल में केवल 'z' (केस-असंवेदनशील तरीके से) ASCII अक्षर 'ए' हो सकता है, '0' के माध्यम से '0' , और हाइफ़न ('-')। आरएफसी 952 में होस्टनामों के मूल विनिर्देश ने अनिवार्य किया कि लेबल अंक या हाइफ़न के साथ शुरू नहीं हो सकते हैं, और एक हाइफ़न के साथ समाप्त नहीं होना चाहिए। हालांकि, बाद के विनिर्देश (आरएफसी 1123) ने मेजबाननाम लेबल को अंक से शुरू करने की अनुमति दी। कोई अन्य प्रतीक, विराम चिह्न, या सफेद स्थान की अनुमति नहीं है।

+2

सुनिश्चित करें कि आप इस बारे में स्पष्ट हैं कि आप होस्टनाम या पूरी तरह से योग्य डोमेन नाम या तो खोज रहे हैं या नहीं। –

17

यह इस बात पर निर्भर करता है कि आप IDN TOASCII एल्गोरिदम से पहले या उसके बाद आईडीएन को संसाधित करते हैं या नहीं। (जो है, आप παράδειγμα.δοκιμή के रूप में डोमेन नाम देख पा रहे हैं παράδειγμα.δοκιμή या के रूप में xn--hxajbheg2az3al.xn--jxalpdlp

उत्तरार्द्ध मामले में - जहां पनीकोड ​​के माध्यम से IDNs संभाल रहे हैं, तो पुराने RFC 1123 नियम लागू होते हैं:

U + 0041 के माध्यम से यू +005 ए (एजेड), यू +0061 यू +007 ए (एजे) के माध्यम से एक दूसरे के रूप में, यू +0030 यू + 0039 (0-9) और यू +002 डी (-) के माध्यम से फोल्ड किया गया। [संपादित करें: और यू +002 ई (।) बेशक; लेबल के नियम नियमों के बीच बिंदुओं के साथ दूसरों को अनुमति देते हैं, कभी-कभी यह स्पष्ट बिट्स है जो भूलने के लिए सबसे आसान हैं]

यदि आप इसे आईडीएन फॉर्म में देख रहे हैं, तो अनुमति वर्ण बहुत भिन्न हैं, एक हन के लिए http://unicode.org/reports/tr36/idn-chars.html देखें सभी मान्य पात्रों का डीई चार्ट।

संभावना है कि आपका नेटवर्क कोड पन्योडोड से निपटने वाला होगा, लेकिन आपका डिस्प्ले कोड (या यहां तक ​​कि केवल अन्य परतों से तारों को पार करना) और अधिक मानव-पठनीय रूप के साथ, क्योंकि कोई भी السعودية पर कोई सर्वर नहीं चला रहा है। डोमेन अपने सर्वर को .xn - mgberp4a5d4ar

+0

वाह, मैंने कभी भी आईडीएन और पोनीकोड ​​नहीं देखा है! इस समय मैं केवल अंग्रेजी समर्थन के लिए योजना बना रहा हूं, क्योंकि यह सिर्फ मेरी पालतू परियोजना है, लेकिन मैंने निश्चित रूप से आपके उत्तर से कुछ सीखा है! – Ricket

+1

पन्योडोड काम करने के तरीके के बारे में सबसे अच्छी बात यह है कि एक निश्चित स्तर से नीचे (वह जहां आप नेटवर्किंग करते हैं) यह सभी ASCII है। एएससीआईआई का नाटक करने का यह एक बहुत ही तरीका है, केवल तकनीक अन्य पाठ के साथ काम कर सकती है (कुछ अंग्रेजी शब्दों को पहले अनुमति नहीं दी गई थी)। साथ ही पूरे शब्द को एक अपग्रेड पथ देकर, यह आपको भी एक देता है: आरएफसी 1123 के अनुसार इसे करने के लिए इसे बनाएं, और यदि आप बाद में आईडीएन समर्थन में जोड़ते हैं तो नेटवर्क कोड वही रहता है और आप शीर्ष पर आरएफसी 34 9 0 के लिए समर्थन जोड़ते हैं (लाइब्रेरी भी कई भाषाओं में मदद करने के लिए उपलब्ध हैं)। –

+0

@Ricket नहीं जानता कि टाइपो या यदि आपने नाम ("पनीकोड") के बारे में मजाक किया है। मैं उन्हें व्यक्तिगत रूप से "punyshed" कहते हैं। –

2

ए "नाम" (नेट, होस्ट, गेटवे, या डोमेन नाम) वर्णमाला (एजेड) से खींचे गए 24 वर्णों तक एक टेक्स्ट स्ट्रिंग है, अंक (0-9), ऋण चिह्न (-), और अवधि (।)। ध्यान दें कि अवधि केवल तभी दी जाती है जब वे "डोमेन शैली के नाम" के घटकों को सीमित करते हैं। (पृष्ठभूमि के लिए आरएफसी-9 21, "डोमेन नेम सिस्टम कार्यान्वयन अनुसूची" देखें)। किसी नाम के हिस्से के रूप में कोई खाली या स्थान वर्णों की अनुमति नहीं है। ऊपरी और निचले मामले के बीच कोई भेद नहीं किया जाता है। पहला चरित्र अल्फा चरित्र होना चाहिए। अंतिम चरित्र एक ऋण चिह्न या अवधि नहीं होना चाहिए। एक मेजबान जो गेटवे के रूप में कार्य करता है, उसके नाम के हिस्से के रूप में "-गेटवे" या "-GW" होना चाहिए। मेजबान जो इंटरनेट गेटवे के रूप में कार्य नहीं करते हैं उन्हें अपने नामों के हिस्से के रूप में "-गेटवे" और "-GW" का उपयोग नहीं करना चाहिए।एक होस्ट जो एक टीएसी है, उसके पास अपने होस्ट नाम के अंतिम भाग के रूप में "-TAC" होना चाहिए, यदि यह एक डीओडी होस्ट है। सिंगल कैरेक्टर नाम या उपनामों की अनुमति नहीं है।

यह http://support.microsoft.com/kb/149044

संबंधित मुद्दे