圖解http學習筆記5.與HTTP協作的web服務器

與HTTP協作的Web服務器

用單臺虛擬主機實現多個域名

HTTP/1.1允許一臺HTTP服務搭建多個Web站點。比如提供Web託管(Web Hosting Service)的供應商、可以用一臺服務器爲多位客戶服務。也可以爲每位客戶持有的域名運行各自不同的網站。

即使物理層面只有一臺服務器,只要有虛擬主機的功能,則可以假象已具有多臺服務器。

一臺服務器託管了不同的域名,使用DNS服務解析域名後,兩者的訪問IP地址會相同。

因此在發送HTTP請求時,必須在Host首部內完整指定主機名或域名的URI.

通信數據轉發程序:代理、網關、隧道

HTTP通信時,除客戶端和服務器端,還有一些用於通信數據轉發的應用程序,如代理、網關、隧道,可配合服務器工作。

這些應用程序和服務器可將請求轉發給通信線路上的下一站服務器,並且能接受從那臺服務器發送的響應再轉發給客戶端。

代理

扮演位於服務器和客戶端“中間人”的角色,接受由客戶端發送的請求並轉發給服務器,同時也接受服務器返回的響應並轉發給客戶端。

代理服務器的基本行爲就是上述。代理不改變請求URI,直接發送給前方持有資源的目標服務器。反之亦同。

通信過程中,可級聯多臺代理服務器。請求和響應轉會經過數臺似鎖鏈一樣連接起來的代理服務器。轉發時,需要附加Via首部字段儀表及出經過的主機信息。

使用代理服務器的原因:利用緩存技術減少網絡帶寬的流量,組織內部針對特定網站的訪問控制,以獲取訪問日誌爲主要目的。。。。

代理使用方法有兩種基類:1.是否使用緩存 2.是否修改報文

緩存代理

代理轉發響應時,緩存代理(Caching Proxy)會預先將資源的副本(緩存)保存在代理服務器上。

當代理再次接受到對相同資源的請求時,就可以不從源服務器那裏獲取資源,直接將緩存的資源作爲響應返回。

透明代理

轉發請求或響應時,透明代理(Transparent Proxy)不對報文做任何加工。反之,對報文內容加工的則是非透明代理。

網關

網關是轉發其他服務器通信數據的服務器,接受從客戶端發送來的請求時,它就像自己擁有資源的源服務器一樣對請求處理。

利用網關可以提高通信的安全性,因爲可在客戶端與網關之間的通信線路上加密以確保連接的安全。如網關連接數據庫,使用SQL語句查詢。

隧道

隧道是在相隔甚遠的客戶端和服務器之間進行中轉,並保存雙方通信連接的應用程序。

隧道按要求建立一條與其他服務器的通信路線,使用了SSL(Secure Sockets Layer)等加密手段進行通信。目的是確保客戶端能與服務器進行安全的通信。

隧道本身不會解析HTTP。並在通信雙方斷開連接時結束。

保存資源的緩存

緩存是指代理服務器或客戶端本地磁盤內保存的資源副本。利用緩存可減少對源服務器的訪問,因此也就節省了通信流量和通信時間。

緩存服務器是代理服務器的一種。

緩存服務器的優勢在於利用緩存避免多次從源服務器轉發資源。

緩存的有效期限

緩存服務器上有緩存,由於具有時效性,不保證每次都會返回對同資源的請求。

源服務器上資源更新,換粗就會演變爲“舊”資源。

客戶端的要求、緩存的有效期也會影響資源的有效性。若判斷資源失效,則從源服務器獲取“新”資源。

客戶端的緩存

客戶端緩存稱爲臨時網絡文件(Temporary Internet File)

瀏覽器緩存如果有效,就可以從本地磁盤讀取。

和緩存服務器相同,判斷緩存失效後會再次請求新資源。


在HTTP之前出現的協議

FTP(File Transport Protocol)

傳輸文件使用的協議。被HTTP的流量(Traffic)超越,但現在仍在使用。

NNTP(Network News Transfer Protocol)

用於NetNews電子會議室內傳送消息的協議。利用Web交換信息後,不怎麼使用。

Archie

搜索anonymous FTP公開的文件信息的協議,不怎麼使用。

WAIS(Wide Area Information Servers)

以關鍵詞檢索多個數據庫使用的協議。被HTTP協議取代,不怎麼使用。

Gopher

查找與互聯網連接的計算機信息協議。被HTTP協議取代,不怎麼使用。

發佈了57 篇原創文章 · 獲贊 65 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章