HTTP服务器
一、關(guān)于本文
文章從三個方面來簡介HTTP服務(wù)器中的一些概念,目的在于引出概念。服務(wù)器與域名的關(guān)系、服務(wù)器與數(shù)據(jù)轉(zhuǎn)發(fā)程序、服務(wù)區(qū)與緩存。
二、用單臺服務(wù)器實現(xiàn)多個域名
HTTP/1.1規(guī)范允許一臺HTTP服務(wù)器搭建多個Web站點。其中利用了虛擬主機(又稱之為虛擬服務(wù)器)的功能。
但是需要客戶端配合。
客戶端使用HTTP協(xié)議訪問服務(wù)器時,經(jīng)常使用的是域名。在互聯(lián)網(wǎng)上,域名經(jīng)過DNS服務(wù)映射到IP地址之后訪問目標(biāo)網(wǎng)站。
在相同的IP地址下,由于虛擬主機可以寄存多個不同主機名和域名的Web網(wǎng)站,因此在發(fā)送HTTP請求時,必須在Host首部內(nèi)完整指定主機名或域名的URI。
三、代理、網(wǎng)關(guān)、隧道
在HTTP通信中,除了客戶端和服務(wù)器之外,還有一些用于通信數(shù)據(jù)轉(zhuǎn)發(fā)的應(yīng)用程序。
1、代理
代理是一種有轉(zhuǎn)發(fā)功能的應(yīng)用程序,它扮演了位于服務(wù)器和客戶端“中間人”的角色,接受由客戶端發(fā)送的請求并轉(zhuǎn)發(fā)給服務(wù)器,同時也接受服務(wù)器返回的響應(yīng)并轉(zhuǎn)發(fā)給客戶端。
代理不會改變客戶端發(fā)起請求的URI。
持有資源實體的服務(wù)器稱為源服務(wù)器。
在HTTP通信過程中,可級聯(lián)多臺代理服務(wù)器。轉(zhuǎn)發(fā)是,需要附加Via首部字段以標(biāo)記出經(jīng)過的主機信息。
使用代理服務(wù)器的原因有:利用緩存技術(shù)減少網(wǎng)絡(luò)帶寬的流量,組織內(nèi)部針對特定網(wǎng)站的訪問,以獲取訪問日志。
代理服務(wù)器的分類標(biāo)準(zhǔn)有:是否使用緩存、是否修改報文。
緩存代理:代理轉(zhuǎn)發(fā)響應(yīng)時,緩存代理(Caching Proxy)會預(yù)先將資源的副本(緩存)保存在代理服務(wù)器上。當(dāng)代理再次接收到對相同資源的請求時,就可以不從源服務(wù)器那里獲取資源,而是將之前緩存的資源作為響應(yīng)返回。
透明代理:轉(zhuǎn)發(fā)請求或響應(yīng)時,不對報文做任何加工的代理類型被稱為透明代理(Transparent Proxy)。反之,對報文內(nèi)容進(jìn)行加工的代理被稱為非透明代理。
2、網(wǎng)關(guān)
網(wǎng)關(guān)的工作機制和代理十分相似。但是,利用網(wǎng)關(guān)可以由HTTP請求轉(zhuǎn)化為其他協(xié)議通信。
3、隧道
隧道可按要求建立起一條與其他服務(wù)器的通信線路,屆時使用SSL等加密手段進(jìn)行通信。隧道的目的是確保客戶端能與服務(wù)器進(jìn)行安全的通信。
隧道本身不會去解析HTTP請求。也就是說,請求保持原樣中轉(zhuǎn)給之后的服務(wù)器。隧道會在通信雙方斷開連接時結(jié)束。
通過隧道的傳輸,可以和遠(yuǎn)距離的服務(wù)器安全通信。隧道本身是透明的,客戶端不用在意隧道的存在。
四、緩存
緩存是指代理服務(wù)器或客戶端本地磁盤內(nèi)保存的資源副本。利用緩存可減少對源服務(wù)器的訪問,因此也就節(jié)省了通信的流量和通信時間。
緩存服務(wù)器就是代理服務(wù)器的一種,前面也已經(jīng)介紹過。---
“緩存代理:代理轉(zhuǎn)發(fā)響應(yīng)時,緩存代理(Caching Proxy)會預(yù)先將資源的副本(緩存)保存在代理服務(wù)器上。當(dāng)代理再次接收到對相同資源的請求時,就可以不從源服務(wù)器那里獲取資源,而是將之前緩存的資源作為響應(yīng)返回。”
客戶端的緩存:比如IE瀏覽器把客戶端緩存稱為臨時網(wǎng)絡(luò)文件(Temporary Internet File)。
【緩存的有效性】如何驗證緩存的有效性?可以根據(jù)時間來約定。也可以向源服務(wù)器確認(rèn)資源的有效性,若判斷緩存失效,再向源服務(wù)器獲取新的資源。
?
轉(zhuǎn)載于:https://www.cnblogs.com/cchHers/p/8729471.html
總結(jié)
- 上一篇: tar命令
- 下一篇: 科大讯飞语音转文字以及中文分词的Java