2010-05-06 100 views
6

我有点怀疑,但我找不到有关它的信息,可能是因为我没有找到正确的东西。共享主机,域名和DNS如何共同工作?

当浏览器请求“www.mydomain.com”,DNS服务器返回的IP地址,然后在浏览器去那里......但到底是什么发生呢?我的意思是,该IP地址可能是一个包含数百个网页和域的共享主机,那么它如何知道它必须去哪里?

是一些Web服务器呢?这是我可以在Web应用程序中实现的东西吗?

我的意思是,比如我有一个包含账户的Web应用程序,并且每个账户都有一个默认的网页。您可以访问该页面通过该帐户namne,例如“www.mydomain.com/myaccount”,但现在我想注册“www.myaccount.com”,然后将得到的“www.mydomain.com/myaccount”内容。可能吗?

亲切的问候。

回答

11

HTTP/1.1要求所有的请求包括Host头,其中包括您所键入的域名,为“http://www.example.com/foo/bar.html”一个基本要求如下所示:

GET /富/酒吧。 HTML HTTP/1.1
主持人:www.example.com

然后Web服务器将能够使用主机头将请求路由到正确的网站,即使有一个以上的在同一IP地址。

+0

我猜Web服务器会拒绝任何不在其“虚拟主机”列表中的请求,是否有办法强制它接受所有的?还是我建议一些疯狂的东西? :D – vtortola 2010-05-06 23:22:14

+1

它取决于服务器(例如Apache与IIS等),你如何设置它,但你可以有一个“全部”主机,是的。 – 2010-05-06 23:43:40

+0

你知道我应该寻找什么来配置IIS7吗?参数的名称,或者技术......某事:D。谢谢。 – vtortola 2010-05-07 10:56:49

2

的Web服务器处理该应用程序响应您的要求。你的“共享主机”有另一个名字。它被称为“虚拟主机”。网络服务器有一个“虚拟主机”列表,根据你如何到达主机(通过什么主机名),网络服务器选择哪个应用程序响应你的请求。

+0

我想,Web服务器将拒绝任何请求的主机是不是在它的“虚拟主机”列表中,是有办法,迫使它接受所有?还是我建议一些疯狂的东西? :D – vtortola 2010-05-06 23:21:03

+1

通常情况下,它会接受所有请求,除非您定义了“虚拟主机”。通常会有某种默认处理程序。 – dlamotte 2010-05-06 23:29:57

+0

你有任何关于这方面的信息,或者你可以告诉我我应该寻找什么?谢谢! – vtortola 2010-05-07 10:55:52