與HTTP協作的Web伺服器
宣告:本人的所有部落格皆為個人筆記,作為個人知識索引使用,因此在敘述上存在邏輯不通順、跨度大等問題,希望理解。分享出來僅供大家學習翻閱,若有錯誤希望指出,感謝!
與HTTP協作的Web伺服器
虛擬主機實現多個域名
HTTP/1.1允許一臺HTTP伺服器搭建多個Web站點
即使物理層只有一臺伺服器,但只要使用虛擬主機,就可以虛擬為多個伺服器
域名通過DNS服務對映到IP地址,因此當請求傳送到伺服器時,使用的是IP地址。若一臺伺服器內託管了兩個域名,則收到請求時必須區分使用者要訪問哪個域名
若伺服器使用虛擬主機搭載了多個域名,則客戶端在傳送HTTP請求時,必須在Host首部內完整指定主機名或域名的URI
通訊資料轉發程式
HTTP通訊時,除客戶端和伺服器外,還有一些用於通訊資料轉發的應用程式,例如代理、網管、隧道等
這些應用程式和伺服器可以將請求轉發給通訊線路上的下一站伺服器,並且能夠接收從那臺伺服器傳送的響應再轉發給客戶端
-
代理
代理是一種有轉發功能的應用程式,它扮演了位於伺服器和客戶端“中間人”的角色。接收客戶端傳送的請求並轉發給伺服器,接收伺服器傳送的響應並轉發給客戶端
-
閘道器
閘道器是轉發其他伺服器通訊資料的伺服器,接收從客戶端發來的請求時它就像自己擁有資源的源伺服器一樣對請求進行處理,有時客戶端都不會察覺自己的通訊目標是一個閘道器
-
隧道
隧道是在相隔甚遠的客戶端和伺服器兩者之間進行中轉,並保持雙方通訊連線的應用程式
代理
代理伺服器的基本行為就是接收客戶端傳送的請求後轉發給其他伺服器
代理不改變URI,會直接傳送給前方持有資源的目標伺服器
HTTP通訊中可級聯多臺代理伺服器,請求和響應的轉發會經過數臺連線起來的代理伺服器,轉發時需要附加Via首部欄位以標出經過的主機資訊
使用代理伺服器的理由:
- 利用快取技術減少網路頻寬流量
- 組織內部針對特定網站的訪問控制
快取代理
代理轉發響應時,快取代理會預先將資源的副本(快取)儲存到代理伺服器上,當代理再次接收到對相同資源的請求時,就可以不從源伺服器那裡獲取資源,而是將之前快取的資源作為響應返回
透明代理
請求或轉發響應時,部隊報文做任何加工的代理型別被稱為透明代理,反之被稱為非透明代理
閘道器
閘道器的工作機制與代理十分接近,閘道器能使通訊線路上的伺服器提供非HTTP協議服務
利用閘道器能提高通訊的安全性,因為可以在客戶端與閘道器之間的通訊線路上加密以確保連線的安全
隧道
隧道可按要求建立一條與其他伺服器的通訊鏈路,屆時使用SSL等加密手段進行通訊,隧道的目的是確保客戶端能夠與伺服器進行安全的通訊
隧道本身不回去解析HTTP請求,請求會保持原樣中轉給之後伺服器
隧道會在通訊雙方斷開連線時結束
儲存資源的快取
快取的有效期限
即使存在快取,也會因為客戶端要求、快取的有效期等因素,向源伺服器確認資源的有效性
若判斷快取失效,快取伺服器會再次從源伺服器獲取“新”資源
客戶端的快取
快取可以存在於客戶端的瀏覽器中,瀏覽器快取如果有效,就可以直接從本地磁碟獲取資源
若判斷快取過期,會向源伺服器確認資源的的有效性,若判定瀏覽器快取失效,瀏覽器會再次請求新資源
相關文章
- WEB伺服器之HTTP協議Web伺服器HTTP協議
- web應用與http協議WebHTTP協議
- Web基礎與HTTP協議WebHTTP協議
- Django之web應用與http協議DjangoWebHTTP協議
- WEB基礎及HTTP協議WebHTTP協議
- Web快取 – HTTP協議快取Web快取HTTP協議
- Http與Https協議HTTP協議
- CTFhub-WEB前置-http協議闖關WebHTTP協議
- 深入理解 Web 協議 (三):HTTP 2Web協議HTTP
- CTFHub web前置技能HTTP協議請求方式WebHTTP協議
- CTFHUB技能樹之WEB前置技能HTTP協議WebHTTP協議
- 如何排查Web伺服器HTTP ERROR 500的錯誤?Web伺服器HTTPError
- [服務端與網路]http協議與http狀態碼服務端HTTP協議
- http協議與內外網的劃分HTTP協議
- Web伺服器、應用程式伺服器、HTTP伺服器區別Web伺服器HTTP
- 02 前端HTTP協議(圖解HTTP) 之 簡單的HTTP協議前端HTTP協議圖解
- Web伺服器的工作原理及其相關協議Web伺服器協議
- 與HTTP關係密切的協議:IP、TCP、DNSHTTP協議TCPDNS
- HTTP協議的請求與資料抓包HTTP協議
- 深入理解 web 協議(一)- http 包體傳輸Web協議HTTP
- JavaWeb第五講 Web核心基礎之HTTP協議JavaWebHTTP協議
- python爬蟲基礎與http協議Python爬蟲HTTP協議
- HTTP協議與前後端聯調HTTP協議後端
- Web伺服器的工作原理及其相關協議-VeCloudWeb伺服器協議Cloud
- 《圖解HTTP》——簡單的HTTP協議圖解HTTP協議
- 輕鬆讓你的nginx伺服器支援HTTP2協議Nginx伺服器HTTP協議
- Git bug分支與多人協作Git
- http協議HTTP協議
- HTTP 協議HTTP協議
- Django與前端框架協作開發實戰:高效構建現代Web應用Django前端框架Web
- HTTP協議的特點HTTP協議
- HTTP 協議的前世今生HTTP協議
- 前端面試:Http協議與瀏覽器前端面試HTTP協議瀏覽器
- HTTP協議之:HTTP/1.1和HTTP/2HTTP協議
- day48:django前戲之HTTP協議&自定義web框架DjangoHTTP協議Web框架
- 知識管理與協作平臺
- 如何管理跨部門的溝通與協作?
- 通過激勵協作實現語義 Web 的弱中心化Web中心化