1、客戶(hù)端如何區(qū)別不同網(wǎng)站

客戶(hù)端在請(qǐng)求時(shí),會(huì)在HTTP請(qǐng)求的時(shí)候包含要請(qǐng)求的具體主" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢(xún) 在線咨詢(xún)
18143453325 在線咨詢(xún)
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > 既然一個(gè) IP 地址可以被多個(gè)域名綁定,那么服務(wù)端是如何區(qū)分各個(gè)域名的?

既然一個(gè) IP 地址可以被多個(gè)域名綁定,那么服務(wù)端是如何區(qū)分各個(gè)域名的?

時(shí)間:2022-09-03 13:12:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2022-09-03 13:12:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

首先,一個(gè)IP綁定多個(gè)域名是很常見(jiàn)的事情,租用的虛擬主機(jī)大多數(shù)都是多個(gè)主機(jī)共享同一個(gè)IP,區(qū)分具體訪問(wèn)的是哪個(gè)主機(jī)要從兩個(gè)方面實(shí)現(xiàn):

1、客戶(hù)端如何區(qū)別不同網(wǎng)站

客戶(hù)端在請(qǐng)求時(shí),會(huì)在HTTP請(qǐng)求的時(shí)候包含要請(qǐng)求的具體主機(jī)名稱(chēng),比如訪問(wèn)Google的請(qǐng)求通過(guò)抓包分析內(nèi)容是這樣的:

GET / HTTP/1.1Host: www.google.com整個(gè)請(qǐng)求會(huì)被發(fā)送到服務(wù)器上,其中有Host字段標(biāo)識(shí)你要請(qǐng)求的網(wǎng)站域名是什么,即使訪問(wèn)的是同一個(gè)IP地址,由于Host字段不同,所以服務(wù)器軟件有辦法區(qū)分具體訪問(wèn)的是哪個(gè)網(wǎng)站。

關(guān)于Host字段的具體定義,可以閱讀RFC-2616的第14.23節(jié):

http://www.rfc-editor.org/rfc/rfc2616.txt

以下是節(jié)選(注意加粗的部分):

14.23 Host

The Host request-header field specifies the Internet host and port
number of the resource being requested, as obtained from the original
URI given by the user or referring resource (generally an HTTP URL,
as described in section 3.2.2). The Host field value MUST represent
the naming authority of the origin server or gateway given by the
original URL. This allows the origin server or gateway to
differentiate between internally-ambiguous URLs, such as the root "/"
URL of a server for multiple host names on a single IP address.
另外,RFC-2616并非HTTP協(xié)議的最新規(guī)范,具體的規(guī)范請(qǐng)參考RFC-2616的描述鏈接:

Information on RFC 2616

2、服務(wù)器端如何配置

如果服務(wù)器使用Apache,那么在Apache的配置文件中加入VirtualHost即可新增虛擬主機(jī):

<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot "D:/website1"
ServerName http://myhost1.com

DirectoryIndex index.php
</VirtualHost>

<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot "D:/website2"
ServerName http://myhost2.com

DirectoryIndex index.php
</VirtualHost>
以上就定義了兩個(gè)域名http://myhost1.comhttp://myhost2.com,分別在不同的根目錄,通過(guò)這樣的配置Apache如果收到http://myhost1.com的請(qǐng)求,那么就到d:/website1里尋找對(duì)應(yīng)的頁(yè)面,如果是http://myhost2.com的請(qǐng)求,那么就到d:/website2里尋找對(duì)應(yīng)的頁(yè)面。

通常Apache還有一個(gè)默認(rèn)網(wǎng)站,這個(gè)網(wǎng)站是可以使用IP地址訪問(wèn)的,如果將這個(gè)網(wǎng)站設(shè)置為無(wú)效,那么這個(gè)主機(jī)就無(wú)法通過(guò)IP地址直接訪問(wèn)HTTP資源。

對(duì)于IIS來(lái)說(shuō),IIS能使用同一個(gè)IP綁定多個(gè)站點(diǎn),具體可以參考下圖:


在默認(rèn)網(wǎng)站->屬性->網(wǎng)站->高級(jí)中,添加不同的域名即可。因?yàn)槲业腎IS版本較低,本身無(wú)法支持綁定多個(gè)網(wǎng)站,高版本的IIS中,可以配置多個(gè)網(wǎng)站,每個(gè)網(wǎng)站綁定不同的域名,即可實(shí)現(xiàn)訪問(wèn)時(shí)的區(qū)分。

如果服務(wù)器沒(méi)設(shè)置默認(rèn)網(wǎng)站,那么IP地址也無(wú)法直接訪問(wèn)主機(jī)。

所以,如果你直接通過(guò)IP地址訪問(wèn)網(wǎng)站,會(huì)遇到兩種情況:

1、服務(wù)器設(shè)置了默認(rèn)網(wǎng)站,或者使用IP作為主機(jī)名去匹配請(qǐng)求的Host字段,那么你通過(guò)IP訪問(wèn)的就是這個(gè)網(wǎng)站;

2、服務(wù)器沒(méi)有設(shè)置默認(rèn)網(wǎng)站,或者默認(rèn)網(wǎng)站被禁止,那么你通過(guò)IP無(wú)法打開(kāi)任何東,通常遇到的是404錯(cuò)誤(找不到頁(yè)面),在我使用過(guò)的幾個(gè)虛擬主機(jī)服務(wù)商那,遇到的都是類(lèi)似的錯(cuò)誤。

另外,不管是IIS或者Apache或者其它類(lèi)型的網(wǎng)站服務(wù)器軟件,不僅僅支持多域名,也支持多IP,也就是一個(gè)服務(wù)器同時(shí)有多個(gè)域名和多個(gè)IP,互相之間是互不干擾的。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉