많은 서버 이름이 있지만 몇 개의 IP 주소 만 있기 때문에.
설명해 드리겠습니다. IPv4는 2^32 (40 억)의 서로 다른 IP 주소를 허용합니다. 많이 들리지만 대부분은 사용할 수 없습니다. IP 주소는 항상 블록으로 할당됩니다. 가장 작은 블록은 255 개의 주소 (8 비트 - 브로드 캐스트의 경우 1 개의 주소)이고 가장 큰 블록은 1600 만 개의 주소 (2^24-1)입니다. 중간 크기의 블록에는 64k 개의 주소 (16 비트)가 있습니다.
ISP의 경우 고정 주소 세트를받습니다. 물론 당신은 절대적으로 필요한 것보다 더 큰 블록을 요구합니다. 그렇지 않으면 주소가 다 떨어지고 ISP에게는 정말 좋지 않습니다. 두 개의 16 비트 블록을 요구할 수 있지만 두 블록을 결합하는 것은 항상 번거로운 일입니다.
지난주에는 IPv4 블록이 부족했습니다. 그래서 ... 당신은 64K 블록을 가지고 더 많은 것을 얻을 수 없습니다. 그러나 웹 서버를 운영하고자하는 150,000 명의 고객이 있습니다.
용액 : virtual servers. DNS "x.y.com"은 13.242.251.17이고 "a.y.com"은 동일한 주소이고 "b.y.com"입니다.
클라이언트가 요청할 때 항상 동일한 IP를 반환하는 DNS 쿼리를 수행합니다. 그런 다음 방금 가져온 IP에 HTTP 요청을 보냅니다. 트릭은 HTTP 요청에 서버 이름이 인 을 포함한다는 것입니다. 따라서 모든 요청이 동일한 IP 주소로 전송 되더라도 웹 서버는 여전히 사용자를 정말로 알아낼 수 있습니다.
이름을 지정하는 한. IP를 대신 사용하면 Google 검색 엔진 인 기본 서비스가 제공됩니다.
[편집]telnet
으로 직접 시도 할 수 있습니다. telnet 74.125.127.93 80
로 시작하고 입력 :
GET http://www.google.com/index.html HTTP/1.1
히트를 두 번를 입력합니다. 해당 국가의 Google 홈페이지에 대한 리디렉션이 제공됩니다.이제 입력 :
이 GET http://www.youtube.com/ HTTP/1.1
히트를 두 번를 입력합니다. 이번에 YouTube 홈페이지가 반환됩니다.
Google이 youtube를 소유하고 있기 때문에 – Zimbabao
@ Shog9 다른 방법이 아니어야합니까? – swalog