《圖解HTTP》讀書筆記3之與HTTP協(xié)作的Web服務(wù)器

一,用單臺(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)求新資源。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用單臺(tái)虛擬主機(jī)實(shí)現(xiàn)多個(gè)域名 HTTP/1.1規(guī)范允許一臺(tái)HTTP服務(wù)器搭建多個(gè)Web站點(diǎn).這是因?yàn)槔昧颂摂M主機(jī)(...
    Megamind_China閱讀 361評(píng)論 0 2
  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族,HTTP屬于它內(nèi)部的一個(gè)子集。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,598評(píng)論 0 20
  • 本文是《圖解HTTP》讀書筆記的第一篇,主要包括此書的前五章內(nèi)容,簡(jiǎn)要記錄一下。大概分為以下幾部分: TCP/IP...
    lijiankun24閱讀 1,407評(píng)論 0 2
  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 21,545評(píng)論 24 176
  • 明天就是周日了。上帝創(chuàng)造世界的時(shí)候把周日作為第七日,這一日的任務(wù)就是休息。不知道上帝會(huì)不會(huì)認(rèn)為思維也是一種勞作,思...
    雪方明閱讀 271評(píng)論 0 0

友情鏈接更多精彩內(nèi)容