제가 아는 한, 최상위 도메인은 입니다 .
. 그렇다면 ibm.com
로 더 적절하게 언급하면 안 될까요 ibm.com.
? 또는 ibm.com.
항상 모든 애플리케이션에서 작동해야 합니다.
크롬 브라우저로 가서 들어가보니 ibm.com.
예상한대로 작동하더군요. google.com.
및 에도 동일합니다 www.apple.com.
. 그러나 일부 다른 도메인(예: www.comcast.com.
및 ) 의 a.azurewebsites.net.
경우 끝에 마침표를 넣으면400 오류: 요청 호스트 이름이 잘못되었습니다..
지금까지 후행 마침표와 함께 작동하지 않는 예는 IIS 사이트에서 가져온 것입니다. 하지만 저는 몇 가지 예시 도메인 이름만 테스트했습니다.
후행 기간이 예상대로 작동하도록 하려면 어디에서 무엇을 수행해야 합니까?
답변1
브라우저에서는 이 작업을 시도하지 마세요(대답은 웹서버 구성에 따라 다름). DNS를 쿼리하려면 "dig"(Domain Information Groper)와 같은 DNS 도구를 사용하십시오.
dig ibm.com.
dig comcast.com.
dig a.azurewebsites.net.
등등, 그리고 당신은 당신이 기대하는 것을 얻을 것입니다.
답변2
두 가지 다른 프로토콜이 있습니다.
1: DNS. 원격 측의 IP 주소를 제공합니다. 도메인 이름 시스템의 구조(및 프로토콜)로 인해 sld.tld.
은 와 같이 유효한 이름입니다 sld.tld
.
2: HTTP. 브라우저가 웹 서버에 연결하여 페이지를 가져오면 요청에 원격 URL의 경로 부분뿐만 아니라 호스트 이름도 표시됩니다. 왜 그래야만하지? 동일한 IP 주소에서 수백만 개의 도메인 이름에 연결할 수 있고 서버 측에서는 브라우저에서 어떤 호스트 이름을 요구하는지 알아낼 수 있는 다른 옵션이 없기 때문입니다.
를 사용하여 도메인 이름을 확장하면 .
여전히 유효한 DNS 요청이 되며 테일링 지점 없이 한 것과 동일한 IP 주소를 얻게 됩니다.
그러나 http의 경우에는 완전히 다른 호스트 이름이 됩니다. 이론적으로는 대부분의 웹 서버가 이러한 호스트 이름을 처리하도록 구성하는 것도 가능하지만 HTTP는 이 DNS 기능에 대해 아무것도 모릅니다.
하지만 그렇지 않습니다. 누구도 이러한 트레일리그 엣지가 있는 사이트를 보고 싶어하지 않습니다. 웹서버 측에서는 그에게 알려지지 않은 호스트 이름에 속하는 요청이 될 것입니다.
이 경우 무엇을 합니까? 시스템 관리자에 따라 다릅니다. 대부분의 웹 호스팅 제공업체는 이를 "지금 지불하세요, 지금 지불하세요. 중요합니다" 페이지로만 리디렉션하지만 다른 가능성도 설정할 수 있습니다.