一台web伺服器可以搭建多個獨立網域名稱的web**,也可以作為通訊路徑上的中轉伺服器提公升傳輸效率。
即使物理層面只有一台伺服器,但只要使用虛擬主機的功能,則可以假想已經具有多台伺服器。客戶端使用http協議訪問伺服器時,會經常採用類似www.hacker.jp這樣的主機名和網域名稱。在網際網路上,網域名稱通過dns服務對映到ip位址之後訪問目標**,可見,當請求傳送到伺服器時,已經是ip位址形式訪問。現在面臨的問題是:
這些應用程式和伺服器可以將請求**給通訊線路上的下一站伺服器,並且能夠接收從那台伺服器傳送的響應再**給客戶端。
**伺服器的基本行為就是接收客戶端傳送的請求後**給其他伺服器,**不改變uri,會直接傳送給前方持有資源的目標伺服器。持有資源實體的伺服器被稱為源伺服器,從源伺服器返回的響應經過**伺服器後再傳給客戶端。在http通訊過程中,可以級聯多台伺服器,請求和響應的**會經過數台類似鎖鏈一樣連線起來的**伺服器,**時,需要附加via首部欄位以標記經過的主機資訊。
閘道器的工作機制和**十分相似,而閘道器能使通訊線路上的伺服器提供非http協議服務。利用閘道器可以提高通訊的安全性,因為可以在客戶端與閘道器之間的通訊線路上加密以確保連線的安全。
隧道可以按照要求建立起一條與其他伺服器的通訊線路,屆時使用ssl等加密手段進行通訊,隧道的目的是確保客戶端與伺服器進行安全的通訊。隧道本身不會去解析http請求,也就是說,請求會原樣中轉給之後的伺服器,隧道會在通訊雙方斷開連線時結束。
快取是指**伺服器或者客戶端本地磁碟內儲存的資源副本,利用快取可以減少對源伺服器的訪問,也就節省了通訊流量和通訊時間。快取伺服器時**伺服器的一種,並歸類在快取**型別中(當****從伺服器返回的響應時,**伺服器將會儲存乙份資源的副本)。快取伺服器的優勢在於可以避免多次從伺服器**資源,因此客戶端可就近從快取伺服器上獲取資源,而源伺服器也不必多次處理同樣的請求。
當遇到源伺服器上的資源更新時,如果還是用不變的快取,那就會演變成返回更新前的舊資源了。即使存在快取,也會因為客戶端的要求、快取的有效期等因素,向源伺服器確認資源的有效性。若判斷快取失效,快取伺服器將會再次從源伺服器上獲取新資源。
快取不僅可以存在於快取伺服器中,還可以存在客戶端瀏覽器中,以internet explorer程式為例,把客戶端快取稱為臨時網路檔案。瀏覽器快取如果有效,就不必再向伺服器請求相同的資源了,可以從本地磁碟內讀取。另外,和快取伺服器相同的一點是,當判定快取過期後,會向源伺服器確認資源的有效性,如果判斷瀏覽器快取失效,瀏覽器會再次請求新資源。
第五章 與HTTP協作的web伺服器
http 1.1 規範允許一台 http 伺服器搭建多個 web 站點 利用了虛擬主機 virtual host,又稱虛擬伺服器 即使物理層面只有一台伺服器,但只要使用虛擬主機 的功能,則可以假想已具有多台伺服器 http 通訊時,除客戶端和伺服器以外,還有一些用於通訊資料 的應用程式,例如 閘道器...
第五章 Web原理與應用開發
http協議 getpost head putdelete options connect 現在的web應用開發大都是前後端分離ajax進行互動,所以通常會規定前定義介面 url 目前的前後端接 們通常會遵循restful規範,也就是說使用請求方法來表示操作型別,如get請求代表查詢,post代表新...
第五章 Web原理與應用開發
5.1 http協議 wwwwww是目前為止具著名的分布式應用,從應用功能看,www是一種互動式圖形介面的internet服務,具有強大的資訊連線功能,它能使成千上萬的使用者通過簡單的圖形介面就可以訪問各個大學 組織 公司等的最新資訊和各種服務。從技術上看,www是乙個基於http的客戶 伺服器應用...