dns는 example.com과 같은 주소를 11.22.33.44와 같은 IP 주소로 확인하지만 하위 도메인이 어떻게 해결되는지에 대해 약간 혼란 스럽습니다. 따라서 http://subdomain.example.com 을 입력하면 실제로 11.22.33.44에 서버로 전달됩니까? 즉, example.com = 11.22.33.44이지만 subdomain.example.com/path = ???
“하위 도메인”과 “경로”는 http 헤더로 전달되거나 URL에 어떤 방식으로 매핑됩니까?
미리 감사드립니다.
편집 : 내가 올바르게 이해한다면 BloodPhilia는 subdomain.example.com이 실제로는 완전히 다른 IP로 해결할 수있는 다른 도메인이라고 말합니다. 그러나 그렇다면 많은 수의 하위 도메인이 있지만 실제로 사이트의 일부 경로에 매핑되는 호스트는 어떻습니까? 예를 들어 blogspot은 수백만 개의 블로그를 호스팅하며 모두 다음과 같습니다.
aaa.blogspot.com
bbb.blogspot.com
...millions more...
yyy.blogspot.com
zzz.blogspot.com
그것들은 분명히 자신의 IP를 가진 하위 도메인이 아니라 aaa.blogspot.com-> www.blogspot.com/aaa와 같은 매핑이지만 어떻게 달성됩니까? 실제로 blogspot.com의 웹 서버로 무엇이 전달됩니까?
답변
도메인, 하위 도메인, 하위 하위 도메인 및 하위 (x) 하위 하위 도메인 (마지막 두 도메인을 만들었습니다!)은 DNS를 통해 최종 사용자와 웹 서버에 대해 동일한 방식으로 처리됩니다.
예를 들어, DNS 서버는 다른 결과를 반환 할 수 있습니다 domain.com
, www.domain.com
또는 mysite.domain.com
.
아마 당신이 알고 있듯이, 세계에는 IP보다 더 많은 도메인이 있습니다.
이 때문에 서버는 올바른 컨텐츠를 제공하기 위해 “호스트 헤더”라고하는 것을 사용합니다.
실제로 요청하는 것은 중요하지 않으며 컴퓨터는 모든 것을 동일하게 취급합니다. DNS에서 연결해야 할 IP를 찾고 연결되면 요청의 일부로 호스트 헤더를 보냅니다. 그런 다음 웹 서버는 다시 보내도록 구성된 컨텐츠를 다시 보냅니다.
테스트 / 학습 / 진단을위한 좋은 도구는 Wfetch 입니다. 여기에서 다운로드 할 수 있습니다 .
다음은 superuser.com에 액세스하는 동안 전송 된 헤더의 예입니다.
다음은 IIS (웹 서버)의 호스트 헤더 구성입니다.
( 여기 에서 이미지 )
관심이 있다면 Serverfault.com과 Superuser.com은 동일한 IP에 있으며 사이트를 분리하고 다른 컨텐츠를 제공하기 위해 사용되는 기술입니다.
주제에 대한 자세한 내용을 보려면 Virtual Hosting에 대한 Wikipedia 기사 를 읽으십시오 .
(기본 사항을 이해하고 있음을 알고 있지만 Google에 문의하는 사람이 원하는 경우 조금 배울 수 있도록 조금 더 말하면 좋을 것이라고 생각했습니다.)
편집하다
따라서 귀하의 예에 따라 블로그 스팟만큼 큰 누군가가로드 밸런서를 가리키는 와일드 카드 DNS 항목 (와일드 카드 항목이 모든 쿼리에 대해 동일한 결과를 반환 함)을 가지고 있다고 생각합니다.로드 밸런서는 그것을 보냅니다. 호스트 헤더마다 별도의 사이트가 없지만 여러 유형의 호스트 헤더가 구문 분석되는 단일 사이트 / 스크립트를 사용하여 CDN에서 올바른 컨텐츠를 가져온 다음 여러 웹 서버에 제공합니다.
IP 당 단지 수천 개의 항목을 가질 수는 있지만 (아마도 가능하지는 않지만) ip는 몇 개의 서버로 연결되며 각 호스트마다 호스트 헤더가 일치하는 항목이 있습니다.
답변
실제로 두 도메인의 IP 주소가 동일한 경우 서버는 브라우저를 사용하여 요청 된 도메인을 지정합니다. 좋아요 :
GET / HTTP/1.1
Host: data.stackexchange.com
답변
하위 도메인은 올바른 단어가 아닙니다. 일반적으로 하위 도메인은 자체 도메인이므로 sub.example.com은 먼저 DNS로 전달됩니다.이 하위 도메인에 대한 특정 레코드가 없으면 요청이 최상위 도메인의 IP로 전달됩니다. (example.com) 해당 서버에서 요청이 다시 이루어지고 서버가 그에 따라 작동합니다.
즉, example.com에 대한 요청은 sub.example.com에 대한 요청과 실제로 다르지 않습니다.
답변
Subdomain.example.com은 11.22.33.44로 확인되지 않습니다. 질문의 목적 상 일반적으로 자체 DNS A 레코드가 있으며 다른 주소로 확인됩니다.
하위 도메인을 상위 도메인과 동일한 주소로 확인하고 여전히 다른 페이지를 서버에 배치 할 수 있지만, 그렇게하면 동일한 웹 서버에서 두 사이트를 모두 호스트하고 서버 구성에서 계정을 만들어야합니다. 이를 설명하는 방법은 실행중인 웹 서버 종류에 따라 다릅니다.