1)客戶端
通過發送請求獲取服務器資源的Web瀏覽器等,都可以成為客戶端
2)TCP/IP傳輸流
從”高“到“低”
應用層(HTTP) ?=> 傳輸層(TCP) => 網絡層(IP) ?=> 鏈路層(硬件,肉眼可見)
3)DNS
服務器IP地址對應人的身份證號,網站域名對應人的姓名。
這兩個一一對應存在某個地方(某個市,這個市就代表DNS,往上邊還有范圍更廣的)
你在web客戶端里輸入域名,瀏覽器會派一個小人去這個市區查找對應的IP地址,找不到就繼續往高一等級的地方找,找到了就返回,然后客戶端根據這個IP地址發送請求。
你的電腦C盤有個HOST這個就是最小范圍的市,找不到就去網絡上的更大的DNS服務器上去找
4)通信數據轉發程序
分為三類:代理、網關、隧道
代理:就是中間人的意思,具有轉發功能的應用程序(代理不改變URI),接受客戶端請求發送給服務器,也接受服務器響應返回給客戶端,代理可以有多個,根據via首部來判斷。
代理的作用:緩存技術以減少網絡帶寬的流量,對訪問進行控制(檢查是否可以通過等),獲取訪問日志等等。
緩存:在使用代理服務器進行通信的時候,有一種代理服務器叫做緩存服務器,會在接受到服務器(或者上一級代理服務器)資源后,會緩存資源副本,下次再請求相同資源服務器的時候,會直接將緩存資源發送。
緩存資源 有 有效期限,所以,每次發送請求遇到有緩存資源的時候,代理回去源服務器確認,緩存資源是否是最新的,如果是最新的,則直接返回,如果不是,則重新請求、緩存。
相對應的,也有客戶端緩存,大同小異,不做過多說明。
緩存的作用:節省了通信流量和通信時間,避免服務器處理多次相同的請求
--------------------------------------------萌萌噠分割(C)-----------------------------------------------
網關:網關的工作機制和代理十分相似,但是網關能夠間接提供非HTTP協議服務。
比如你的http請求請求的是一個網關,而網關轉發其他服務器資源的時候運用的是非HTTP協議,獲取后,會通過HTTP協議返回給客戶端,但是這個過程是透明的,感覺就像你直接和你請求的服務器通信一樣,但其實你是在和網關通信。
網關的作用:網關能夠提高通信的安全性。
--------------------------------------------萌萌噠分割(P)-----------------------------------------------
隧道:隧道是在相隔甚遠的客戶端和服務器之間進行中轉,并保持雙方通信連接的應用程序,隧道本身是透明的。
隧道的作用:使用隧道可以使用SSL等加密手段進行通信,確保客戶端和服務器進行安全的通信