5.与HTTP协作的Web服务器
一臺web服務器可搭建多個獨立域名的web網站,也可作為通信路徑上的中轉服務器提升傳輸效率.
一.用單臺虛擬主機實現多個域名
用單臺虛擬主機實現多個域名 : HTTP/1.1 規范允許一臺HTTP服務器搭建多個web站點.比如,提供web托管服務(web hosting server) 的供應商,可以用一臺服務器為多位客戶服務,也可以以每位客戶持有的域名運行各自不同的網站.這是因為利用了虛擬主機(virtual host,又稱虛擬服務器) 的功能. 即物理層面只有一臺服務器,但只要使用虛擬主機的功能,則可以假象已具有多臺服務器.
客戶端使用HTTP協議訪問服務器時,會經常采用類似www.baidu.com 這樣的主機名和域名.在互聯網上,域名通過DNS服務映射到IP地址(域名解析) 之后訪問目標網站.可見,當請求發送到服務器時,已經是以IP地址形式訪問了.所以,如果一臺服務器內托管了www.baidu.com和www.jd.com 這兩個域名,當收到請求時就需要弄清楚究竟要訪問哪個域名.
二.通信數據轉發程序 : 代理,網管,隧道
HTTP進行通信時,除客戶端和服務器以外,還有一些用于通信數據轉發的應用程序,例如代理,網管和隧道.他們可以配合服務器功能.
代理 : 代理是一種有轉發功能的應用程序,它扮演了位于服務器和客戶端"中間人"的角色,接收由客戶端發送的請求并轉發給服務器,同時也接收服務器返回的響應并轉發給客戶端 .
網關 :網關是轉發其他服務器通信數據的服務器,接收從客戶端發送來的請求時,他就像自己擁有資源的源服務器一樣對請求進行處理.有時客戶端可能都不會察覺,自己的通信目標是一個網關 .
代理 : 代理服務器的基本行為就是接收客戶端發送的請求后轉發給其他服務器. 代理不改變請求URI,會直接發送給前方持有資源的目標服務器.持有資源實體的服務器被稱為源服務器.從源服務器返回的響應經過代理服務器后再傳給客戶端.在HTTP通信過程中,可級聯多臺代理服務器.請求和響應的轉發會經過數臺類似鎖鏈一樣鏈接起來的代理服務器.轉發時,需要附加via首部字段以標記出經過的主機信息. 使用代理服務器的理由有 : 利用緩存技術減少網絡帶寬的流量,組織內部針對特定網站的訪問控制,以獲取訪問日志為主要目的,等等 . 代理有多種使用方法,按兩種基準分類 :
緩存代理 : 代理轉發響應時,緩存代理(caching proxy)會預先將資源的副本(緩存)保存在代理服務器上.當代理再次接收到對相同資源的請求時,就可以不從資源服務器哪里獲取資源,而是將之前緩存的資源作為響應返回.
網關 : 網關的工作機制和代理十分相似 . 而網關能使通信線路上的服務器提供非HTTP協議服務.利用網關能提高同行的安全性,因為可以在客戶端與網關之間的通信線路上加密以確保連接的安全.比如,網關可以連接數據庫,使用SQL語句查詢數據.另外,在web購物網站上進行信用卡結算時,網關可以和信用卡結算系統聯動 .
三. 保存資源的緩存
緩存是指代理服務器或客戶端本地磁盤內保存的資源副本. 利用緩存可減少對資源服務器的訪問,因此也就節省了通信流量和通信時間.
緩存服務器是代理服務器的一種,并歸類在緩存代理類型中.換句話說,當代理轉發從服務器返回的響應時,代理服務器會保存一份資源的副本 .緩存服務器的優勢在于利用緩存可避免多次從源服務器轉發資源.因此客戶端可就近從緩存服務器上獲取資源,而源服務器也不必多次處理相同的請求.
緩存的有效期限 : 幾鞭緩存服務器內有緩存,也不能保證每次都會返回對同資源的請求. 因為這關系被緩存資源的有效性問題. 當遇上資源服務器上的資源更新時,如果還是使用不便的緩存,那就會編程返回更新前的"舊"資源了. 即使存在緩存,也會因為客戶端的要求,緩存的有效期等因素,向源服務器確認資源的有效性.若判斷緩存失效,緩存服務器會再次從源服務器上獲取"新"資源.
客戶端的緩存 : 緩存不僅可以存在于緩存服務器內,還可以寸在客戶端瀏覽器中.以Internet explorer 程序為例,可客戶端村換稱為臨時網絡文件(temporary Internet file ) .瀏覽器緩存如果有效,就不必再向服務器請求相同的資源了,可以直接從本地磁盤讀取.另外,和緩存服務器相同的一點是,當判定緩存過期后,會向服務器確認資源的有效性.若判斷瀏覽器緩存失效,瀏覽器會再次請求信資源 .
在HTTP出現之前的協議 : 在HTTP普及之前,也就是從互聯網的誕生至今,層出現過各式各樣的協議,在HTTP規范確立之際,制定者們參考了那些協議的功能.也有某些協議現在已經徹底退出了人們的實現.
FTP(file transfer protocol) : 傳輸文件時使用的協議.該協議歷史久遠,可追溯到1973年前后,比TCP/IP 協議族的出現還要早.雖然他在1995年被HTTP的瀏覽(traffic) 超越,但時至今日,仍被廣泛使用.
轉載于:https://blog.51cto.com/12654424/2048173
總結
以上是生活随笔為你收集整理的5.与HTTP协作的Web服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: [.NET领域驱动设计实战系列]专题八:
- 下一篇: better-scroll 上拉加载,下
