ホスト名の有効な文字?


85

ホスト名の有効な文字は何ですか?これは、ネットワークコンピュータやWebドメインのようなものです。

コンテキストを説明するために、私はリモートサーバーに接続するPCゲームを書いています。したがって、ホスト名用のフィールドとポート用のフィールドがあります。明らかに、ポートは短距離の数値ですが、可能なすべてのホスト名文字が何であるかを知る必要があります(そして、必要となる可能性のある他のパターン-ホスト名は文字で始まる必要がありますか?)。

ホスト名の例には、localhostまたはが含まれますgoogle.com


2
Linuxのsethostnameのコマンドは、任意のバイトを受け入れます。
OrangeDog 2016

回答:


91

このウィキ、特に有効なホスト名の制限のセクションをチェックしてください

ホスト名は、すべてのドメイン名と同様に、ドットで連結された一連のラベルで構成されます。たとえば、「en.wikipedia.org」はホスト名です。各ラベルの長さは1〜63文字である必要があり、ホスト名全体(区切りドットを含み、末尾ドットは含まない)には最大253文字のASCII文字が含まれます。

プロトコルのインターネット標準(Requests for Comments)では、コンポーネントのホスト名ラベルにASCII文字「a」から「z」(大文字と小文字を区別しない方法)、数字「0」から「9」、およびハイフンのみを含めることが義務付けられています。 ( '-')。RFC 952のホスト名の元の仕様では、ラベルを数字またはハイフンで始めることはできず、ハイフンで終わらせることはできませんでした。ただし、その後の仕様(RFC 1123)では、ホスト名ラベルを数字で始めることが許可されていました。他の記号、句読文字、または空白は使用できません。


6
ホスト名または完全修飾ドメイン名、あるいはそのいずれかを探しているかどうかを明確にしてください。
ケビングロス

また、厳密なDNS相互運用性要件を探しているかどうかを明確にしてください。特に、DNSはホスト名ラベルのアンダースコアを禁止していますが、多くのオペレーティングシステムはローカルでの使用を許可しています。DNSサーバーは寛容である傾向があり、現在実際のDNSでは、ホスト名ラベルだけでなく、TXTレコード(DKIMなど)などの一部のレコードタイプにアンダースコアが必要です。
トリプリー

26

IDNtoASCIIアルゴリズムの前または後にIDNを処理するかどうかによって異なります(つまり、ドメイン名παράδειγμα.δοκιμήはギリシャ語で表示されxn--hxajbheg2az3al.xn--jxalpdlpますか、それとも?)。

後者の場合(punycodeを介してIDNを処理している場合)、古いRFC1123ルールが適用されます。

U +0041からU + 005A(AZ)、U +0061からU + 007A(az)のケースは互いに折りたたまれ、U +0030からU + 0039(0-9)およびU + 002D(-)。

もちろん、U + 002E(。); ラベルのルールでは、ラベルの間にドットを付けて、他のルールを許可します。

IDN形式で表示されている場合、許可される文字は大きく異なります。すべての有効な文字の便利なチャートについては、http://unicode.org/reports/tr36/idn-chars.htmlを参照してください。

ネットワークコードがpunycodeを処理する可能性がありますが、表示コード(または他のレイヤーとの間で文字列を渡すだけ)は、誰もサーバーを実行していないため、より人間が読める形式になっています。ドメインは、サーバーがオンとしてリストされていることを確認したいと考えています.xn--mgberp4a5d4ar


1
うわー、私はIDNとポニーコードを見たことがありません!現時点では、私のペットプロジェクトであるため、英語のサポートのみを計画していますが、あなたの答えから間違いなく何かを学びました!
Ricket

2
punycodeが機能する方法の優れている点は、特定のレベル(ネットワーキングを行うレベル)より下では、すべてASCIIであるということです。これは、ASCIIのみの技術者が他のテキスト(以前は許可されていなかった英語の単語を含む)を処理できるふりをするためのほとんどの方法です。単語全体にアップグレードパスを与えるだけでなく、それはあなたにも1つを与えます:RFC 1123が言うようにそれを構築し、後でIDNサポートを追加しても、ネットワークコードは同じままで、RFC3490のサポートを上に追加します(ライブラリは多くの言語で利用できます)。
ジョンハンナ

2
@Ricketは、タイプミスなのか、名前( "ponycode")について冗談を言ったのかわかりません。個人的には「punyshed」と呼んでいます。
カミロマーティン

4

「名前」(ネット、ホスト、ゲートウェイ、またはドメイン名)は、アルファベット(AZ)、数字(0〜9)、マイナス記号(-)、およびピリオド(。)から抽出された最大24文字のテキスト文字列です。ピリオドは、「ドメインスタイル名」のコンポーネントを区切るのに役立つ場合にのみ許可されることに注意してください。(背景については、RFC-921「ドメインネームシステムの実装スケジュール」を参照してください)。名前の一部として空白文字またはスペース文字を使用することはできません。大文字と小文字は区別されません。最初の文字は英字でなければなりません。最後の文字はマイナス記号またはピリオドであってはなりません。GATEWAYとして機能するホストには、名前の一部として「-GATEWAY」または「-GW」を含める必要があります。インターネットゲートウェイとして機能しないホストは、名前の一部として「-GATEWAY」および「-GW」を使用しないでください。TACであるホストは「

これはhttp://support.microsoft.com/kb/149044で提供されています


これは、RFC 952 [ tools.ietf.org/html/rfc952]から逐語的に引用されています。これは誤解を招く恐れがあります。前述のように、ホスト名の長さは1〜63文字です。
クレイグS.アンダーソン

残念ながら、リンクは壊れています。
Eugene Mayevski 'コールバック

0

Aaron Hathawayが言った.comように、ドメインと終了(ex )を登録している場合、それはIDNではありません。ホスト名は、すべてのドメイン名と同様に、ドットで連結された一連のラベルで構成されます。たとえば、はホスト名です。各ラベルの長さは1〜63文字である必要があり、ホスト名全体(区切りドットを含み、末尾ドットは含まない)には最大253文字のASCII文字が含まれます。en.wikipedia.org

プロトコルのインターネット標準(Requests for Comments)では、コンポーネントのホスト名ラベルにASCII文字aからz(大文字と小文字を区別しない方法で)、数字0から9、、およびハイフンのみを含めることが義務付けられています-。RFC 952のホスト名の元の仕様では、ラベルを数字またはハイフンで始めることはできず、ハイフンで終わらせることはできませんでした。ただし、その後の仕様(RFC 1123)では、ホスト名ラベルを数字で始めることが許可されていました。他の記号、句読文字、または空白は使用できません。

その後それで、スペインの.es.com.es.org.es.nom,es.gob.esそして.edu.esあなたのTLDのいずれかである場合には、IDNのTLDのを導入し.es、担体は、それは、任意の文字を使用することができますが、1つのホスト名にラテン語、ギリシャ語またはシリルなどのアルファベットを組み合わせることができないことや、他のそして、それは最初または最後に行くことができないものを尊重すること。

ローカルDNSやhostsファイルなど、ローカルネットワーキングのためだけに未登録のTLDを使用している場合は、それらすべてをIDNとして扱うことができます。

一部のプログラム、特に古くて時代遅れで人気のないプログラムはうまく機能しないことに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.