久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

03
2017/06

一個(gè)IP服務(wù)器是如何分辨你訪問(wèn)的到底是哪個(gè)網(wǎng)站?

發(fā)布時(shí)間:2017-06-03 14:55:59
發(fā)布者:pengyifeng
瀏覽量:
0

         一臺(tái)服務(wù)器一般對(duì)應(yīng)一個(gè)IP地址,但是一個(gè)IP地址下面卻可以擁有很多網(wǎng)站。這是為什么呢?服務(wù)器是如何分辨出來(lái)這些相同IP所對(duì)應(yīng)的到底是哪一個(gè)網(wǎng)站呢?

先了解服務(wù)器是如何工作的:

(1)客戶(hù)端發(fā)送請(qǐng)求

  客戶(hù)端(通過(guò)瀏覽器)和Web服務(wù)器建立TCP連接,連接建立以后,向Web服務(wù)器發(fā)出訪問(wèn)請(qǐng)求(如get)。根據(jù)HTTP協(xié)議,該請(qǐng)求中包含了客戶(hù)端的IP地址、瀏覽器的類(lèi)型和請(qǐng)求的URL等一系列信息。

(2)服務(wù)器解析請(qǐng)求

  Web服務(wù)器對(duì)請(qǐng)求按照HTTP協(xié)議進(jìn)行解碼來(lái)確定進(jìn)一步的動(dòng)作,設(shè)計(jì)的內(nèi)容有三鼐要點(diǎn):方法(GET)、文檔(/sample.html)、和瀏覽器使用的協(xié)議(HTTP/1.1)其中方法告訴服務(wù)器應(yīng)完動(dòng)的動(dòng)作,GET方法的含義很明顯是:服務(wù)器應(yīng)定位、讀取文件并將它返回給客戶(hù)。

Web服務(wù)器軟件現(xiàn)在就知道了,它應(yīng)該找到文件/sample.html,并使用HTTP/1.1協(xié)議將內(nèi)存返回給客戶(hù)。信息是經(jīng)過(guò)與請(qǐng)求到來(lái)相同的連接發(fā)出的,所以服務(wù)器不需要定們客戶(hù)或創(chuàng)建新的連接。

(3)讀取其它信息(非必須步驟)

    Web服務(wù)器根據(jù)需要去讀取請(qǐng)求的其它部分。在HTTP/1.1下,客戶(hù)還應(yīng)給服務(wù)器提供關(guān)于它的一些信息。元信息(metainformation)可用來(lái)描述瀏覽器及其能力,以使服務(wù)器能據(jù)此確定如何返回應(yīng)答。

(4)完成請(qǐng)求的動(dòng)作

  若現(xiàn)在沒(méi)有錯(cuò)誤出現(xiàn),WWW服務(wù)器將執(zhí)行請(qǐng)求所要求的動(dòng)作。要獲?。℅ET)一個(gè)文檔,web服務(wù)器在其文檔樹(shù)中搜索請(qǐng)求的文件(/sample.html)。這是由服務(wù)器機(jī)器上作為操作系統(tǒng)一部分的文件系統(tǒng)完成的。若文件能找到并可正常讀取,則服務(wù)器將把它返回給客戶(hù)。

如果成功:文件被發(fā)送出去。

         在服務(wù)器解析請(qǐng)求的時(shí)候,就將傳輸過(guò)來(lái)的數(shù)據(jù)進(jìn)行匹配,如果在apache的配置文件中可以匹配到相應(yīng)的配置文件,就使用相對(duì)應(yīng)的配置文件,如果沒(méi)有匹配到的話就使用默認(rèn)的配置文件來(lái)訪問(wèn)服務(wù)器,一般的網(wǎng)站在建立站點(diǎn)的時(shí)候就會(huì)生成一個(gè)相對(duì)應(yīng)的配置文件,輸入相對(duì)應(yīng)的網(wǎng)址,就會(huì)使用相對(duì)應(yīng)的配置文件;

下面是一個(gè)配置文件的例子:


ServerName 192.168.1.49:801
DocumentRoot "E:/PHP/test"

 
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex test.php
AllowOverride None 
Order Deny,Allow 
Allow from all

1.Listen  要監(jiān)聽(tīng)的端口,多個(gè)端口,要寫(xiě)多個(gè)Listen;否則Apache啟動(dòng)的時(shí)候,不會(huì)啟動(dòng)相應(yīng)的接口。

 比如:  

           Listen 80

           Listen 8080

2.NameVirtualHost 如果沒(méi)有這個(gè),標(biāo)簽就沒(méi)什么作用。

 (感謝okiwill的指正,這里特指基于域名訪問(wèn)的情況,若是基于IP訪問(wèn)的,以第一個(gè)指定IP的VirtualHost為準(zhǔn),每個(gè)IP可以單獨(dú)指定)

  一個(gè)NameVirtualHost 可以對(duì)用多個(gè),每個(gè)必須有自己的NameVirtualHost(我猜的)

   NameVirutalHost *:80

   制定這個(gè)主機(jī)的IP和端口,如果服務(wù)器上有多個(gè)IP,就可以制定某個(gè)IP的某個(gè)端口是哪個(gè) 主機(jī)。

    (新版的Apache已經(jīng)去除了NameVirtualHost 這個(gè)配置,因?yàn)榇_實(shí)沒(méi)什么用,參數(shù)在VirtualHost中都已經(jīng)指明了)

3.最關(guān)鍵的VirtualHost

   重要:Apache 在接受到請(qǐng)求時(shí),首先會(huì)默認(rèn)第一個(gè)VirtualHost,然后再找匹配的,如果沒(méi)有匹配的,就是第一個(gè)VirtualHost起作用。

   因此在httpd.conf中,將(這個(gè)是所有目錄的默認(rèn)配置)

   和 的權(quán)限,都是deny from all.作為默認(rèn)。




關(guān)鍵詞:
返回列表