1.用單臺虛擬主機實現(xiàn)多個域名
? ??????HTTP/1.1 規(guī)范允許一臺 HTTP 服務(wù)器搭建多個 Web 站點独柑。即使物理層面只有一臺服務(wù)器芒篷,但只要使用虛擬主機的功能巫橄,則可以假想已具有多臺服務(wù)器慕爬。在互聯(lián)網(wǎng)上窑眯,域名通過 DNS 服務(wù)映射到 IP 地址(域名解析)之后訪問目標(biāo)網(wǎng)站∫搅可見磅甩,當(dāng)請求發(fā)送到服務(wù)器時,已經(jīng)是以 IP 地址形式訪問了姥卢。在相同的 IP 地址下卷要,由于虛擬主機可以寄存多個不同主機名和域名的 Web 網(wǎng)站,因此在發(fā)送 HTTP 請求時独榴,必須在 Host 首部內(nèi)完整指定主機名或域名的 URI僧叉。
2.通信數(shù)據(jù)轉(zhuǎn)發(fā)程序 :代理、網(wǎng)關(guān)棺榔、隧道
代理
????????代理服務(wù)器的基本行為就是接收客戶端發(fā)送的請求后轉(zhuǎn)發(fā)給其他服務(wù)器瓶堕。代理不改變請求 URI,會直接發(fā)送給前方持有資源的目標(biāo)服務(wù)器症歇。持有資源實體的服務(wù)器被稱為源服務(wù)器郎笆。從源服務(wù)器返回的響應(yīng)經(jīng)過代理服務(wù)器后再傳給客戶端谭梗。
網(wǎng)關(guān)
????????網(wǎng)關(guān)的工作機制和代理十分相似。而網(wǎng)關(guān)能使通信線路上的服務(wù)器提供非 HTTP 協(xié)議服務(wù)宛蚓。利用網(wǎng)關(guān)能提高通信的安全性激捏,因為可以在客戶端與網(wǎng)關(guān)之間的通信線路上加密以確保連接的安全。比如凄吏,網(wǎng)關(guān)可以連接數(shù)據(jù)庫远舅,使用 SQL 語句查詢數(shù)據(jù)。另外痕钢,在 Web 購物網(wǎng)站上進行信用卡結(jié)算時图柏,網(wǎng)關(guān)可以和信用卡結(jié)算系統(tǒng)聯(lián)動。
隧道
????????隧道可按要求建立起一條與其他服務(wù)器的通信線路盖喷,屆時使用 SSL 等加密手段進行通信爆办。隧道的目的是確保客戶端能與服務(wù)器進行安全的通信课梳。隧道本身不會去解析 HTTP 請求距辆。也就是說,請求保持原樣中轉(zhuǎn)給之后的服務(wù)器暮刃。隧道會在通信雙方斷開連接時結(jié)束跨算。
3.緩存
服務(wù)器緩存?緩存服務(wù)器是代理服務(wù)器的一種,并歸類在緩存代理類型中椭懊。換句話說诸蚕,當(dāng)代理轉(zhuǎn)發(fā)從服務(wù)器返回的響應(yīng)時,代理服務(wù)器將會保存一份資源的副本,即使存在緩存氧猬,也會因為客戶端的要求背犯、緩存的有效期等因素,向源服務(wù)器確認(rèn)資源的有效性盅抚。若判斷緩存失效漠魏,緩存服務(wù)器將會再次從源服務(wù)器上獲取“新”資源。
客戶端緩存?緩存不僅可以存在于緩存服務(wù)器內(nèi)妄均,還可以存在客戶端瀏覽器中柱锹。以 Internet Explorer 程序為例,把客戶端緩存稱為臨時網(wǎng)絡(luò)文件(Temporary Internet File)丰包。瀏覽器緩存如果有效禁熏,就不必再向服務(wù)器請求相同的資源了,可以直接從本地磁盤內(nèi)讀取邑彪。另外瞧毙,和緩存服務(wù)器相同的一點是,當(dāng)判定緩存過期后,會向源服務(wù)器確認(rèn)資源的有效性宙彪。若判斷瀏覽器緩存失效撑柔,瀏覽器會再次請求新資源。
? ? ? ??