摘要:瀏覽器負責發送請求,并進一步解析返回的信息,以向用戶提供明確的響應。所以是依賴于面向連接進行消息傳遞,但是連接不是必須的。客戶端和服務器連接要保存一段時間支持代理連接還提供了與身份認證狀態管理和緩存等機制相關的請求頭和響應頭。
一、概述
1、什么是HTTP
HTTP是一種可以獲取HTML這樣的網絡資源的一種通訊協議protocol。是在WEB上進行數據交換的基礎,是一種客戶端--服務器協議。HTTP是一種可擴展的應用層協議,通過TCP或者TLS-加密的TCP連接來發送。
2、基于HTTP的組件系統
HTTP是一種client-server協議:請求通過一個實體被發出,實體也就是用戶代理(大部分指的是瀏覽器,也可以是一個爬取網頁生成維護機器索引的機器爬蟲)
如圖:client--->proxy---->protoxy--->server
client<---proxy<---protoxy<---server
在用戶發起服務器請求時,會被服務器處理,并返回一個消息---response
實際上。在一個瀏覽器和處理請求的服務器間,還有路由器、調制解調器。由于web開發基于web的層次設計。那些在網絡層和傳輸層的細節都被隱藏了。HTTP位于最上冊的應用層。雖然底層很重要,但對前端來說,底層的大多數和HTTP無關
3、客戶端:
user-agent 就是能夠為用戶發起的為的工具。瀏覽器總是作為發起一個請求的實體,永遠不是服務器。要展現一個網頁,瀏覽器首先發送一個請求來獲取頁面的HTML文檔,再解析文檔中的資源信息發送其他請求,獲取可執行腳本或CSS樣式來進行頁面布局渲染,以及一些其它頁面資源(如圖片和視頻等)。然后,瀏覽器將這些資源整合到一起,展現出一個完整的文檔,也就是網頁。瀏覽器執行的腳本可以在之后的階段獲取更多資源,并相應地更新網頁。
瀏覽器負責發送HTTP請求,并進一步解析HTTP返回的信息,以向用戶提供明確的響應。
4、Web服務端
在客戶端通信過程的另一端,是有Web Server來服務并提供客戶端所請求的文檔。
5、代理(Proxies)
在瀏覽器和服務器之間,很多設備轉發了HTTP消息,由于Web棧層次結構的原因,T它們大多出現在傳輸層、網絡層和物理層上,對于HTTP應用層而言就是透明的,還有一部分是表現在應用層上的,被稱為代理(Proxies).代理既可以表現的透明,也可以表現的不透明(“改變請求”不會通過他們)。
代理的作用:緩存、過濾、家長控制、負載均衡、認證、日志記錄
二、HTTP的基本性質
HTTP是簡單的、可擴展的、無狀態可會話的、連接。
注解:在互聯網中,最常用的傳輸層協議:TCP是可靠的、UDP不是。所以HTTP是依賴于面向連接TCP進行消息傳遞,但是連接不是必須的。
HTTP/1.0為每個請求/響應都打開一個TCP連接,這就導致了2個缺點:打開一個TCP連接需要多次往返消息傳遞,因此速度慢,如果多個消息周期性發送時,這樣就會變得更加高效:暖連接比冷連接更高效。
HTTP/1.1引入了流水線和持久連接:底層的TCP連接可以通過Connection頭部來被控制。HTTP/2.0則是通過在一個連接復用消息的方式來讓這個鏈接始終為暖連接
三、HTTP特性
緩存:服務器端告訴代理和客戶端哪些文檔需要緩存,緩存多久,而客戶端也可以命令中間的緩存代理來忽略存儲的文檔。
開放同源限制:為防止網絡竊聽和其他隱私的泄露,瀏覽器強制對Web網站做了分割限制,只有來源相同的網頁才可以獲取網站的全部信息
認證:基本的認證可以直接通過HTTP提供,使用Authenticate相似的頭部即可,或使用HTTP Cookies來設置指定的對話
代理和隧道:通常情況下,服務器/客戶端是處于內網的,對外網是隱藏自己真實的IP的,因此HTTP請求就是要通過代理越過這個網絡屏障,但是并非所有的代理都是HTTP代理.
會話:使用HTTP Cookies允許你用一個服務器端的狀態發起請求,就創建了會話。
三、HTTP流---客戶端和服務器交互過程
打開一個TCP連接---->發送一個HTTP報文--->讀取服務器端返回的報文信息--->關閉連接或為后續的請求重用連接 HTTP流水線已被HTTP/2的幀替代
四、HTTP報文
1、有兩種HTTP報文類型:請求與回應
請求:
回應:
HTTP/1.0與HTTP/1.1的區別
1、支持虛擬主機技術,在一個WEB服務器上同時并存多個域名網站;
2、支持持久化連接:三次握手、四次揮手。客戶端和服務器連接要保存一段時間Conection:Keep-alive
3、支持代理連接
4、HTTP 1.1還提供了與身份認證、狀態管理和Cache緩存等機制相關的請求頭和響應頭。
用戶在瀏覽器中輸入www.baidu.com直到看到頁面之間發生了什么?
①操作系統訪問DNS服務器,把域名轉換為IP地址
②瀏覽器發起HTTP請求
③找到指定資源,可能訪問數據庫,構建并返回HTTP響應消息
④瀏覽器接收并解析消息
⑤瀏覽器緩存接收響應的內容,解析并渲染相應內容
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/52940.html
摘要:瀏覽器負責發送請求,并進一步解析返回的信息,以向用戶提供明確的響應。所以是依賴于面向連接進行消息傳遞,但是連接不是必須的。客戶端和服務器連接要保存一段時間支持代理連接還提供了與身份認證狀態管理和緩存等機制相關的請求頭和響應頭。 一、概述 1、什么是HTTP HTTP是一種可以獲取HTML這樣的網絡資源的一種通訊協議protocol。是在WEB上進行數據交換的基礎,是一種客戶端--服務器...
摘要:瀏覽器負責發送請求,并進一步解析返回的信息,以向用戶提供明確的響應。所以是依賴于面向連接進行消息傳遞,但是連接不是必須的。客戶端和服務器連接要保存一段時間支持代理連接還提供了與身份認證狀態管理和緩存等機制相關的請求頭和響應頭。 一、概述 1、什么是HTTP HTTP是一種可以獲取HTML這樣的網絡資源的一種通訊協議protocol。是在WEB上進行數據交換的基礎,是一種客戶端--服務器...
近來正在回顧PHP的文件上傳。在此做個記錄。 文件上傳作業 table{border:0;cellspacing: 0;cellpadding:0} table tr td{text-align: center;height: 25px;line-height: 25px;width: 200px; border: 1px sol...
閱讀 1876·2021-09-28 09:36
閱讀 2426·2021-09-08 09:35
閱讀 3067·2019-08-30 15:53
閱讀 1554·2019-08-30 14:08
閱讀 665·2019-08-29 18:40
閱讀 2843·2019-08-29 13:57
閱讀 2702·2019-08-29 13:55
閱讀 681·2019-08-26 13:45