从第三方网站提供多个域名

我想知道Google网站和Shopify等网站如何让客户创build一个网站,然后将其链接到他们自己的域名? Google网站允许用户在用户提供的域名上创build自己的网站,shopify允许用户创build他们自己的电子商务网站 – 他们可以再一次提供自己的域名来访问创build的网上商店。

在这两种情况下,虽然网站实际上由第三方公司(Google,Shopify等)托pipe,但是在浏览器中通过在用户域名中键入网站,

这怎么可能。 有没有人有一个洞察到如何(可能)正在做?

Google会要求您创build一个CNAME DNSlogging,将您的域名指向他们的主机logging。

例如:

shop.yourdomain.com IN CNAME ghs.google.com 

当您的浏览器转到shop.yourdomain.com时,DNSlogging会将您的请求redirect到服务器ghs.google.com。 HTML请求中的HOST标题表示您的浏览器正在请求shop.yourdomain.com,并且Google的服务器会看到此内容并指出相应的内容。

Shopify的工作方式大致如此。

HTTP 1.0请求有一个Host头,浏览器用URL中的实际主机名填充,服务器parsing以找出哪个虚拟主机应该处理请求。

这很简单。 托pipe服务提供商设置在给定IP地址上运行的HTTP服务器。 我们假设这是82.10.11.12。

我们的Web服务器可以通过HTTP发送请求为82.10.11.12的请求。 这由DNSpipe理。 我可以有任何数量的DNS条目(Alogging)指向这个IP,例如:

 www.mysite.com. IN A 82.10.11.12 anothersite.com. IN A 82.10.11.12 awesomesite.com. IN A 82.10.11.12 rubbishsite.net. IN A 82.10.11.12 etc 

如果您的networking浏览器支持HTTP / 1.1,则当您连接到此站点时,您input到浏览器的地址将被发送到Web服务器。 这被称为主机头。 网页浏览器然后提供与您在浏览器中放置的名称相匹配的虚拟主机。 这就是基于名称的虚拟主机的工作原理。

请注意,这是因为第一个答案中所述的HTTP / 1.1 而不是 1.0而成为可能的。

有关HTTP的简单概述,请参阅: http : //www.jmarshall.com/easy/http

有关更多详细信息,请转至RFC。