루트 도메인이 제대로 작동하도록 하려면 어떻게 해야 합니까?

루트 도메인이 제대로 작동하도록 하려면 어떻게 해야 합니까?

제가 아는 한, 최상위 도메인은 입니다 .. 그렇다면 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 기능에 대해 아무것도 모릅니다.

하지만 그렇지 않습니다. 누구도 이러한 트레일리그 엣지가 있는 사이트를 보고 싶어하지 않습니다. 웹서버 측에서는 그에게 알려지지 않은 호스트 이름에 속하는 요청이 될 것입니다.

이 경우 무엇을 합니까? 시스템 관리자에 따라 다릅니다. 대부분의 웹 호스팅 제공업체는 이를 "지금 지불하세요, 지금 지불하세요. 중요합니다" 페이지로만 리디렉션하지만 다른 가능성도 설정할 수 있습니다.

관련 정보