http相關知識點回顧

1、概述前端

一、什麼是HTTPweb

HTTP是一種能夠獲取HTML這樣的網絡資源的一種通信協議protocol。是在WEB上進行數據交換的基礎,是一種客戶端--服務器協議。HTTP是一種可擴展的應用層協議,經過TCP或者TLS-加密的TCP鏈接來發送。數據庫

二、基於HTTP的組件系統瀏覽器

HTTP是一種client-server協議:請求經過一個實體被髮出,實體也就是用戶代理(大部分指的是瀏覽器,也能夠是一個爬取網頁生成維護機器索引的機器爬蟲)緩存

如圖:client--->proxy---->protoxy--->server服務器

   client<---proxy<---protoxy<---server網絡

在用戶發起服務器請求時,會被服務器處理,並返回一個消息---response負載均衡

實際上。在一個瀏覽器和處理請求的服務器間,還有路由器、調制解調器。因爲web開發基於web的層次設計。那些在網絡層和傳輸層的細節都被隱藏了。HTTP位於最上冊的應用層。雖然底層很重要,但對前端來講,底層的大多數和HTTP無關工具

三、客戶端:佈局

user-agent 就是可以爲用戶發起的爲的工具。瀏覽器老是做爲發起一個請求的實體,永遠不是服務器。要展示一個網頁,瀏覽器首先發送一個請求來獲取頁面的HTML文檔,再解析文檔中的資源信息發送其餘請求,獲取可執行腳本或CSS樣式來進行頁面佈局渲染,以及一些其它頁面資源(如圖片和視頻等)。而後,瀏覽器將這些資源整合到一塊兒,展示出一個完整的文檔,也就是網頁。瀏覽器執行的腳本能夠在以後的階段獲取更多資源,並相應地更新網頁。

  瀏覽器負責發送HTTP請求,並進一步解析HTTP返回的信息,以向用戶提供明確的響應。

四、Web服務端

  在客戶端通訊過程的另外一端,是有Web Server來服務並提供客戶端所請求的文檔。

五、代理(Proxies)

  在瀏覽器和服務器之間,不少設備轉發了HTTP消息,因爲Web棧層次結構的緣由,T它們大多出如今傳輸層、網絡層和物理層上,對於HTTP應用層而言就是透明的,還有一部分是表如今應用層上的,被稱爲代理(Proxies).代理既能夠表現的透明,也能夠表現的不透明(「改變請求」不會經過他們)。

  代理的做用:緩存、過濾、家長控制、負載均衡、認證、日誌記錄

2、HTTP的基本性質

  HTTP是簡單的、可擴展的、無狀態可會話的、鏈接。

  註解:在互聯網中,最經常使用的傳輸層協議:TCP是可靠的、UDP不是。因此HTTP是依賴於面向鏈接TCP進行消息傳遞,可是鏈接不是必須的。

     HTTP/1.0爲每一個請求/響應都打開一個TCP鏈接,這就致使了2個缺點:打開一個TCP鏈接須要屢次往返消息傳遞,所以速度慢,若是多個消息週期性發送時,這樣就會變得更加高效:暖鏈接比冷鏈接更高效。

  HTTP/1.1引入了流水線和持久鏈接:底層的TCP鏈接能夠經過Connection頭部來被控制。HTTP/2.0則是經過在一個鏈接複用消息的方式來讓這個連接始終爲暖鏈接

3、HTTP特性

緩存:服務器端告訴代理和客戶端哪些文檔須要緩存,緩存多久,而客戶端也能夠命令中間的緩存代理來忽略存儲的文檔。

   開放同源限制:爲防止網絡竊聽和其餘隱私的泄露,瀏覽器強制對Web網站作了分割限制,只有來源相同的網頁才能夠獲取網站的所有信息

   認證:基本的認證能夠直接經過HTTP提供,使用Authenticate類似的頭部便可,或使用HTTP Cookies來設置指定的對話

  代理和隧道:一般狀況下,服務器/客戶端是處於內網的,對外網是隱藏本身真實的IP的,所以HTTP請求就是要經過代理越過這個網絡屏障,可是並不是全部的代理都是HTTP代理.

   會話:使用HTTP Cookies容許你用一個服務器端的狀態發起請求,就建立了會話。

3、HTTP流---客戶端和服務器交互過程

打開一個TCP鏈接---->發送一個HTTP報文--->讀取服務器端返回的報文信息--->關閉鏈接或爲後續的請求重用鏈接

HTTP流水線已被HTTP/2的幀替代

4、HTTP報文

  一、有兩種HTTP報文類型:請求與迴應

請求:

圖片描述

圖片描述

   迴應:

圖片描述

HTTP/1.0與HTTP/1.1的區別

一、支持虛擬主機技術,在一個WEB服務器上同時並存多個域名網站;

二、支持持久化鏈接:三次握手、四次揮手。客戶端和服務器鏈接要保存一段時間Conection:Keep-alive

三、支持代理鏈接

四、HTTP 1.1還提供了與身份認證、狀態管理和Cache緩存等機制相關的請求頭和響應頭。

用戶在瀏覽器中輸入www.baidu.com直到看到頁面之間發生了什麼?

①操做系統訪問DNS服務器,把域名轉換爲IP地址

②瀏覽器發起HTTP請求

③找到指定資源,可能訪問數據庫,構建並返回HTTP響應消息

④瀏覽器接收並解析消息

⑤瀏覽器緩存接收響應的內容,解析並渲染相應內容

相關文章
相關標籤/搜索