一臺(tái)服務(wù)器可以搭建多個(gè)獨(dú)立域名的web網(wǎng)站,也可以作為通信路徑上的中轉(zhuǎn) 服務(wù)器的提升傳輸效率
虛擬主機(jī)
HTTP/1.1規(guī)范允許一臺(tái)HTTP服務(wù)器搭建多個(gè)web站點(diǎn)紊服。比如,提供web托管服務(wù)的供應(yīng)商,可以用一臺(tái)服務(wù)器為多個(gè)客戶服務(wù)疙赠,也可以以每位客戶持有的域名運(yùn)行各自不同的網(wǎng)站旁理。這里使用了虛擬主機(jī)的功能樊零。
即使物理層只有一臺(tái)服務(wù)器,但只要使用虛擬主機(jī)的功能,則可以假想自己具有多臺(tái)的服務(wù)器驻襟。
在相同的IP地址下夺艰,由于虛擬主機(jī)可以寄存多個(gè)不同主機(jī)名和域名的web網(wǎng)站,因此在發(fā)送HTTP請(qǐng)求的時(shí)候沉衣,必須在Host首部內(nèi)完整指定主機(jī)名或域名的URI郁副。
通信轉(zhuǎn)發(fā)程序——代理、網(wǎng)關(guān)和隧道
三者的概念
- 代理豌习。是一種具有轉(zhuǎn)發(fā)能力的應(yīng)用程序存谎,它扮演了位于服務(wù)器和客戶端的“中間人”角色,接受客戶端的請(qǐng)求然后轉(zhuǎn)發(fā)給服務(wù)端肥隆,也接受服務(wù)端的響應(yīng)轉(zhuǎn)發(fā)給客戶端
- 網(wǎng)關(guān)就是轉(zhuǎn)發(fā)其他服務(wù)器通信數(shù)據(jù)的服務(wù)器既荚,接到客戶端的請(qǐng)求的時(shí)候,它就像自己擁有資源一樣的源服務(wù)器一樣對(duì)請(qǐng)求進(jìn)行處理巷屿。
- 隧道固以。隧道就是在相隔甚遠(yuǎn)的的服務(wù)端和客戶端之間進(jìn)行中轉(zhuǎn),并保持雙方通信連接的應(yīng)用程序嘱巾。
代理有什么用?
- 利用緩存技術(shù)減少網(wǎng)絡(luò)帶寬的流量
- 組織內(nèi)部對(duì)特定網(wǎng)絡(luò)的訪問控制(比如一些公司限定了不能訪問一些網(wǎng)站)
- 以獲取訪問日志為目的(可以記錄中間的一些信息憨琳,通過via首部字段等)
怎么做到代理?
- 緩存代理旬昭。轉(zhuǎn)發(fā)響應(yīng)的時(shí)候篙螟,緩存代理會(huì)預(yù)先將資源的副本保存在代理服務(wù)器上。當(dāng)再次請(qǐng)求服務(wù)器的時(shí)候问拘,可以直接從代理服務(wù)器中獲取資源
- 透明代理遍略。轉(zhuǎn)發(fā)請(qǐng)求或者響應(yīng)的時(shí)候,不對(duì)報(bào)文做任何加工的代理類型被稱為透明代理(Transparent Proxy)
為什么要用到網(wǎng)關(guān)
- 網(wǎng)關(guān)能夠使通信線路上的服務(wù)器提供非HTTP協(xié)議服務(wù)骤坐。
- 利用網(wǎng)關(guān)可以提高通信的安全性绪杏,因?yàn)榭梢栽诳蛻舳撕途W(wǎng)關(guān)之間的通信線路上加密以確保連接的安全。
為什么要使用隧道
- 確迸ι埽客戶端能夠與服務(wù)端進(jìn)行安全的通信蕾久。隧道本省不會(huì)去解析HTTP請(qǐng)求,也就是說拌夏,請(qǐng)求保持原樣中轉(zhuǎn)給之后的服務(wù)器僧著。
保存資源的緩存
緩存的概念
緩存是指代理服務(wù)器或者客戶端本地磁盤內(nèi)保存的資源副本。利用緩存技術(shù)可以減少對(duì)源服務(wù)器的訪問障簿,因此也就節(jié)省了通信流量和通信時(shí)間盹愚。
客戶端的緩存
緩存不僅僅可以存在于緩存服務(wù)器中,我們還可以存在于客戶端瀏覽器中站故,以IE為例皆怕,把客戶端緩存稱為臨時(shí)網(wǎng)絡(luò)文件。
瀏覽器緩存如果有效,就不必要再向服務(wù)端發(fā)送請(qǐng)求相同的資源了端逼,可以從本地磁盤中讀取