【HTTP】C5 - 與 HTTP 協做的 Web 服 務器

一臺 Web 服務器可搭建多個獨立域名的 Web 網站,也可做爲通訊路 徑上的中轉服務器提高傳輸效率。瀏覽器

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

HTTP/1.1 規範容許一臺 HTTP 服務器搭建多個 Web 站點。好比,提 供 Web 託管服務(Web Hosting Service)的供應商,能夠用一臺服務 器爲多位客戶服務,也能夠以每位客戶持有的域名運行各自不一樣的網 站。這是由於利用了虛擬主機(Virtual Host,又稱虛擬服務器)的功 能。 即便物理層面只有一臺服務器,但只要使用虛擬主機的功能,則能夠 假想已具備多臺服務器。緩存

在相同的 IP 地址下,因爲虛擬主機能夠寄存多個不一樣主機名和域名 的 Web 網站,所以在發送 HTTP 請求時,必須在 Host 首部內完整指 定主機名或域名的 URI。安全

通訊數據轉發程序 :代理、網關、隧 道
  1. 代理服務器

    代理是一種有轉發功能的應用程序,它扮演了位於服務器和客戶 端「中間人」的角色,接收由客戶端發送的請求並轉發給服務器,同時 也接收服務器返回的響應並轉發給客戶端。代理不改變請求 URI,會直接發送給前方持有資源的目標服務 器。網絡

    在 HTTP 通訊過程當中,可級聯多臺代理服務器。請求和響應的轉發會 通過數臺相似鎖鏈同樣鏈接起來的代理服務器。轉發時,須要附加 Via 首部字段以標記出通過的主機信息。網站

    代理有多種使用方法,按兩種基準分類。加密

    一種是是否使用緩存,另外一 種是是否會修改報文。 緩存代理 代理轉發響應時,緩存代理(Caching Proxy)會預先將資源的副本 (緩存)保存在代理服務器上。 當代理再次接收到對相同資源的請求時,就能夠不從源服務器那裏獲 取資源,而是將以前緩存的資源做爲響應返回。 透明代理 轉發請求或響應時,不對報文作任何加工的代理類型被稱爲透明代理 (Transparent Proxy)。反之,對報文內容進行加工的代理被稱爲非 透明代理。spa

  2. 網關 網關是轉發其餘服務器通訊數據的服務器,接收從客戶端發送來的請 求時,它就像本身擁有資源的源服務器同樣對請求進行處理。有時客 戶端可能都不會察覺,本身的通訊目標是一個網關。代理

    利用網關能夠由 HTTP 請求轉化爲其餘協議通訊資源

  3. 隧道 隧道是在相隔甚遠的客戶端和服務器二者之間進行中轉,並保持雙方 通訊鏈接的應用程序。

    隧道可按要求創建起一條與其餘服務器的通訊線路,屆時使用 SSL 等 加密手段進行通訊。隧道的目的是確保客戶端能與服務器進行安全的 通訊。 隧道自己不會去解析 HTTP 請求。也就是說,請求保持原樣中轉給之 後的服務器。隧道會在通訊雙方斷開鏈接時結束。

 保存資源的緩存

緩存服務器的優點在於利用緩存可避免屢次從源服務器轉發資源。因 此客戶端可就近從緩存服務器上獲取資源,而源服務器也沒必要屢次處 理相同的請求了。

緩存的有效期限

即便存在緩存,也會由於客戶端的要求、緩存的有效期等因素,向源 服務器確認資源的有效性。若判斷緩存失效,緩存服務器將會再次從 源服務器上獲取「新」資源。

客戶端的緩存

緩存不只能夠存在於緩存服務器內,還能夠存在客戶端瀏覽器中。以 Internet Explorer 程序爲例,把客戶端緩存稱爲臨時網絡文件

相關文章
相關標籤/搜索