一,用單臺(tái)虛擬主機(jī)實(shí)現(xiàn)多個(gè)域名
一臺(tái)Web服務(wù)器可搭建多個(gè)獨(dú)立域名的Web網(wǎng)站,也可以作為通信路徑上的中轉(zhuǎn)服務(wù)器提升傳輸效率。即使物理層面只有一臺(tái)服務(wù)器,但只要使用虛擬主機(jī)的功能,則可以聯(lián)想已具有多臺(tái)服務(wù)器。另外,在互聯(lián)網(wǎng)上,域名通過DNS服務(wù)映射到IP地址(域名解析)之后訪問目標(biāo)網(wǎng)站。
在相同的IP地址下,由于虛擬主機(jī)可以寄存多個(gè)不同主機(jī)名和域名的Web網(wǎng)站,因此在發(fā)送HTTP請(qǐng)求時(shí),必須在Host首部?jī)?nèi)完整指定主機(jī)名或域名的URI。
二,通信數(shù)據(jù)轉(zhuǎn)發(fā)程序:代理、網(wǎng)關(guān)、隧道
HTTP通信時(shí),除了客戶端和服務(wù)器以外,還有一些用于通信數(shù)據(jù)轉(zhuǎn)發(fā)的應(yīng)用程序,例如代理、網(wǎng)關(guān)、隧道,可以配合服務(wù)器工作。
1,代理
代理是一種有轉(zhuǎn)發(fā)功能的應(yīng)用程序,它扮演了位于服務(wù)器和客戶端“中間人”的角色,接收由客戶端發(fā)送的請(qǐng)求并轉(zhuǎn)發(fā)給服務(wù)器,同時(shí)也接收服務(wù)器返回的響應(yīng)并轉(zhuǎn)發(fā)給客戶端。這里持有資源實(shí)體的服務(wù)器稱為源服務(wù)器。
另外,在HTTP通信過程中,可級(jí)聯(lián)多臺(tái)代理服務(wù)器。請(qǐng)求和響應(yīng)的轉(zhuǎn)發(fā)會(huì)經(jīng)過數(shù)臺(tái)類似鎖鏈一樣連接起來的代理服務(wù)器。轉(zhuǎn)發(fā)時(shí),需要附加Via首部字段以標(biāo)記出經(jīng)過的主機(jī)信息。
使用代理服務(wù)器的理由有:利用緩存技術(shù)減少網(wǎng)絡(luò)帶寬的流量,組織內(nèi)部針對(duì)特定網(wǎng)站的訪問進(jìn)行控制,以獲取訪問日志為主要目的,等待。
代理有多種使用方法,按兩種基準(zhǔn)分類,一種是是否使用緩存,另一種是是否會(huì)修改報(bào)文。
緩存代理是代理轉(zhuǎn)發(fā)響應(yīng)時(shí),緩存代理會(huì)預(yù)先將資源的副本(緩存)保存在代理服務(wù)器上。當(dāng)代理再次接收到對(duì)相同資源的請(qǐng)求時(shí),就可以不從源服務(wù)器那里獲取資源,而是將之前緩存的資源作為響應(yīng)返回。
透明代理是轉(zhuǎn)發(fā)請(qǐng)求或響應(yīng)時(shí),不對(duì)報(bào)文做任何加工的代理類型被稱為透明代理。反之,對(duì)報(bào)文內(nèi)容進(jìn)行加工的代理被稱之為非透明代理。
2,網(wǎng)關(guān)
網(wǎng)關(guān)的工作和代理相似,只是網(wǎng)關(guān)能使通信線路上的服務(wù)器提供非HTTP協(xié)議服務(wù)。利用網(wǎng)關(guān)可以提高通信的安全性,因?yàn)榭梢栽诳蛻舳撕途W(wǎng)關(guān)之間的通信線路上加密以保證連接的安全。
3,隧道
隧道可按要求建立起一條與其他服務(wù)器的通信線路,屆時(shí)使用SSL等加密手段進(jìn)行通信。隧道的目的是確??蛻舳四芘c服務(wù)器進(jìn)行安全的通信。隧道本身不用去解析HTTP請(qǐng)求。隧道會(huì)在通信雙方斷開連接時(shí)結(jié)束。
三,保存資源的緩存
緩存是指代理服務(wù)器或客戶端本地磁盤內(nèi)保存的資源副本。利用緩存可以減少對(duì)源服務(wù)器的訪問,節(jié)省了通信流量和通信時(shí)間。緩存服務(wù)器是代理服務(wù)器的一種,并歸類在緩存代理類型中。
緩存服務(wù)器的優(yōu)勢(shì)在于利用緩存可避免多次從源服務(wù)器轉(zhuǎn)發(fā)資源。因此,客戶端可就近從緩存服務(wù)器上獲取資源,而源服務(wù)器也不必多次處理相同的請(qǐng)求。
緩存服務(wù)器有緩存,但不能保證每次都會(huì)返回對(duì)同資源的請(qǐng)求,因此這關(guān)系到被緩存資源的有效性問題。即使存在緩存,也會(huì)因?yàn)榭蛻舳说囊蟆⒕彺娴挠行诘纫蛩?,重新向源服?wù)器確認(rèn)資源的有效性。若判斷緩存失效,緩存服務(wù)器會(huì)再次從源服務(wù)器上獲取“新”資源。
緩存不僅可以在緩存服務(wù)器內(nèi),也可以存在客戶端瀏覽器中。以Internet Explorer程序?yàn)槔芽蛻舳司彺娣Q為臨時(shí)網(wǎng)絡(luò)文件。瀏覽器緩存如果有效,不必向服務(wù)器請(qǐng)求相同資源,直接從本地磁盤內(nèi)讀取。
和緩存服務(wù)器相同的一點(diǎn)是,當(dāng)判定緩存過期后,會(huì)向源服務(wù)器確認(rèn)資源的有效性。若判斷瀏覽器緩存失效,瀏覽器會(huì)再次請(qǐng)求新資源。