http、https流程以及版本區別

從輸入url後按下回車開始

因爲可能記錄了地址  看是否要redirect  因爲可能記錄了永久跳轉成新的地址

再看緩存  沒有緩存再去服務器 首先查找DNS

創建TCP連接

發送http請求數據包 

返回響應數據  結束接受返回

 

http/0.9

只有get

沒有header等描述數據的信息

服務器發送完畢就關閉TCP連接

http/1.0

增加了post  header put等命令

增加了status code 和 header

增加多字符集支持、多部分發送、權限、緩存

http/1.1

支持持久連接  一個http請求  會創建tcp不關閉

增加了pipeline   可以再同一個連接發送多個請求

增加了host和其他命令  host可以同一個集羣部署多個服務

 

http2

所有數據二進制傳輸

同一個連接裏面發送多個請求不需要按照順序來

頭信息壓縮以及推送等提高效率的功能

(之前都是客戶端主動發送請求,服務器被動,現在可以服務器主動推送)

就是爲了解決傳輸性能不足的問題

 

uniform resource identifier

URI 統一資源標識符  包括 URL  URN

uniform resource locator 統一資源定位器

urn  永久統一資源定位符   防止連接換位置導致404notfound

目前沒有非常成熟的解決方案

首部--> 主題之間有一個空行

常用GET POST  方法

code 就是 404  200  301 501 等

下載一個nodejs.org

使用node -v

使用windows命令行工具

git-scm.com/download/win

 

cache-control 

可緩存性

public  任何人都可以緩存

private  只有發起請求的瀏覽器

no-cache 

cookie

服務端 通過 set-cookie設置

下次請求自動帶上  可以設置很多鍵值對

屬性:

max-age  和expires 設置過期時間

secure只在https時候發送

HttpOnly無法通過document.cookie訪問

 

HTTPS

私鑰 只放在服務器上

公鑰  

 

過程是:客戶端發送生成的隨機數和加密套件(支持加密的算法供選擇)

服務器生成隨機數並且把公鑰(證書)和選擇的加密算法發送給客戶端

客戶端通過證書(公鑰)生成預主祕鑰(一個新的隨機數,總共有三個,並且用公鑰加密了)發送給服務器

然後服務器由自己的私鑰解密預主祕鑰

這時雙方選擇同一個加密套件根據三個隨機數生成主密鑰,這時開始傳輸由主密鑰加密的數據

 

HTTP2

信道複用

信道複用即頻分複用(FDM,Frequency Division Multiplexing),就是將用於傳輸信道的總帶寬劃分成若干個子頻帶(或稱子信道),每一個子信道傳輸1路信號。要求總頻率寬度大於各個子信道頻率之和,同時爲了保證各子信道中所傳輸的信號互不干擾,應在各子信道之間設立隔離帶,這樣就保證了各路信號互不干擾(條件之一)。特點是所有子信道傳輸的信號以並行的方式工作,每一路信號傳輸時可不考慮傳輸時延,因而頻分複用技術取得了非常廣泛的應用。頻分複用技術除傳統意義上的頻分複用(FDM)外,還有一種是正交頻分複用(OFDM)。

中文名

分幀傳輸   每一幀都有上下文的聯繫 所以可以不分先後順序發送

Server push  服務端可以主動推送服務

http1.1只能串行  等第一個請求返回後才能處理第二個請求

而http2可以 只創建一個http連接進行多個http請求的處理

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章