호스트 이름의 유효한 문자?


86

호스트 이름의 유효한 문자는 무엇입니까? 이것은 네트워크로 연결된 컴퓨터 또는 웹 도메인과 같은 것입니다.

상황에 맞게 원격 서버에 연결하는 PC 게임을 작성하고 있습니다. 그래서 호스트 이름 필드와 포트 필드가 있습니다. 분명히 포트는 짧은 범위의 숫자이지만 가능한 모든 호스트 이름 문자가 무엇인지 알아야합니다 (및 필요할 수있는 다른 패턴-호스트 이름은 문자로 시작해야합니까?).

호스트 이름의 예로는 localhost또는 google.com.


2
linux sethostname 명령은 모든 바이트를 허용합니다.
OrangeDog

답변:


92

위키 , 특히 유효한 호스트 이름에 대한 제한 섹션을 확인 하십시오.

호스트 이름은 모든 도메인 이름과 마찬가지로 점으로 연결된 일련의 레이블로 구성됩니다. 예를 들어 "en.wikipedia.org"는 호스트 이름입니다. 각 레이블의 길이는 1 ~ 63 자 여야하며 전체 호스트 이름 (구분 점 포함, 후행 점 제외)에는 최대 253 개의 ASCII 문자가 있습니다.

프로토콜에 대한 인터넷 표준 (Requests for Comments)은 구성 요소 호스트 이름 레이블에 ASCII 문자 'a'~ 'z'(대소 문자 구분 안 함), 숫자 '0'~ '9'및 하이픈 만 포함 할 수 있도록 규정하고 있습니다. ( '-'). RFC 952 의 원래 호스트 이름 사양에서는 레이블이 숫자 나 하이픈으로 시작할 수 없으며 하이픈으로 끝나서는 안됩니다. 그러나 후속 사양 ( RFC 1123 )에서는 호스트 이름 레이블이 숫자로 시작하도록 허용했습니다. 다른 기호, 구두점 문자 또는 공백은 허용되지 않습니다.


6
호스트 이름이나 정규화 된 도메인 이름 또는 둘 중 하나를 찾고 있는지 명확하게 확인하세요.
Kevin Gross

또한 엄격한 DNS 상호 운용성 요구 사항을 찾고 있는지 여부를 명확히하십시오. 특히 DNS는 호스트 이름 레이블에서 밑줄을 금지하는 반면 많은 운영 체제에서는 로컬 사용을 허용합니다. DNS 서버는 관대 한 경향이 있으며 실제로 DNS는 호스트 이름 레이블이 아닌 TXT 레코드 (DKIM 등)와 같은 일부 레코드 유형에 밑줄이 필요합니다.
tripleee

26

IDN toASCII알고리즘 전후에 IDN을 처리하는지 여부에 따라 다릅니다 (즉, 도메인 이름 παράδειγμα.δοκιμή이 그리스어로 표시 되는지 아니면?로 표시되는지 xn--hxajbheg2az3al.xn--jxalpdlp).

후자의 경우 (퓨니 코드를 통해 IDN을 처리하는 경우) 이전 RFC 1123 규칙이 적용됩니다.

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 전용 기술이 다른 텍스트 (이전에 허용되지 않았던 일부 영어 단어 포함)와 함께 작동 할 수있는 것처럼 가장하는 방법입니다. 전체 단어에 업그레이드 경로를 제공 할뿐만 아니라 하나도 제공합니다. RFC 1123이 말한대로 빌드하고 나중에 IDN 지원을 추가하면 네트워크 코드가 동일하게 유지되고 RFC 3490에 대한 지원을 맨 위에 추가합니다. (도서관도 여러 언어로 제공됩니다).
Jon Hanna

2
@Ricket은 오타인지 또는 이름 ( "ponycode")에 대해 농담했는지 알지 못합니다. 개인적으로 "처벌"이라고 부릅니다.
Camilo Martin

4

"이름"(넷, 호스트, 게이트웨이 또는 도메인 이름)은 알파벳 (AZ), 숫자 (0-9), 빼기 기호 (-) 및 마침표 (.)에서 가져온 최대 24 자의 텍스트 문자열입니다. 마침표는 "도메인 스타일 이름"의 구성 요소를 구분하는 데 사용되는 경우에만 허용됩니다. (배경은 RFC-921, "도메인 이름 시스템 구현 일정"참조). 이름의 일부로 공백 또는 공백 문자를 사용할 수 없습니다. 대문자와 소문자를 구분하지 않습니다. 첫 번째 문자는 영문자 여야합니다. 마지막 문자는 빼기 기호 또는 마침표가 아니어야합니다. 게이트웨이 역할을하는 호스트는 이름의 일부로 "-GATEWAY"또는 "-GW"가 있어야합니다. 인터넷 게이트웨이 역할을하지 않는 호스트는 이름의 일부로 "-GATEWAY"및 "-GW"를 사용해서는 안됩니다. TAC 인 호스트는 "

http://support.microsoft.com/kb/149044 에서 제공됩니다 .


이것은 RFC 952 [ tools.ietf.org/html/rfc952] 에서 그대로 인용되었습니다 . 오해의 소지가 있습니다. 호스트 이름은 위에서 설명한대로 1 ~ 63 자 길이 일 수 있습니다.
Craig S. Anderson

불행히도 링크가 끊어졌습니다.
Eugene Mayevski '콜백

0

도메인을 등록하고 종료 (예 .com)하는 경우 Aaron Hathaway가 말했듯이 IDN이 아닙니다 . 호스트 이름은 모든 도메인 이름과 마찬가지로 점으로 연결된 일련의 레이블로 구성됩니다. 예를 들면en.wikipedia.org 는 호스트 이름입니다. 각 레이블은 1 ~ 63 자 사이 여야하며 전체 호스트 이름 (구분 점 포함, 후행 점 제외)은 최대 253 개의 ASCII 문자를 포함합니다.

프로토콜에 대한 인터넷 표준 (댓글에 대한 요청은) 구성 요소 호스트 이름 라벨 만 ASCII 문자를 포함 할 수 있다는 것을 의무화 a를 통해 z(대소 문자를 구분하지 않는 방식으로), 숫자 0를 통해 9, 그리고 하이픈 -. RFC 952의 원래 호스트 이름 사양에서는 레이블이 숫자 또는 하이픈으로 시작할 수 없으며 하이픈으로 끝나서는 안됩니다. 그러나 후속 사양 (RFC 1123)에서는 호스트 이름 레이블이 숫자로 시작하도록 허용했습니다. 다른 기호, 구두점 문자 또는 공백은 허용되지 않습니다.

나중에, 그것으로 스페인 것 .es, .com.es, .org.es, .nom,es, .gob.es.edu.es당신의 TLD 중 하나 인 경우, IDN의 TLD를 도입 .es하거나, 모든 문자를 사용할 수 있습니다 지원하면 다른,하지만 당신은 하나의 호스트 이름에 라틴어, 그리스어 또는 시릴 같은 알파벳을 결합 할 수 없습니다, 그리고 그것은 시작이나 끝에서 갈 수없는 것들을 존중합니다.

등록되지 않은 tld를 사용하는 경우 로컬 DNS 또는 호스트 파일과 같은 로컬 네트워킹을 위해 모두 IDN으로 처리 할 수 ​​있습니다.

일부 프로그램, 특히 오래되고 오래되고 인기가없는 프로그램은 제대로 작동하지 않을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.