Http協議知識點整合

2021-10-08 09:00:23 字數 1722 閱讀 6188

常見的http、method

http1.0定義了三種:

http1.1定義了六種:

常見http狀態碼解析

瀏覽器向伺服器請求時,服務端響應的訊息頭裡面有狀態碼,表示請求結果的狀態。

分類1xx: 收到請求,需要請求者繼續執行操作,比較少用;

2xx: 請求成功,常用的 200​;

3xx: 重定向,瀏覽器在拿到伺服器返回的這個狀態碼後會自動跳轉到乙個新的url位址,這個位址可以從響應的location首部中獲取;

好處:**改版、網域名稱遷移等,多個網域名稱指向同個主站導流

必須記住:

4xx: 客戶端出錯,請求包含語法錯誤或者無法完成請求;

必須記住:

5xx: 服務端出錯,伺服器在處理請求的過程中發生了錯誤

必須記住:

http協議無狀態解決方法 cookie和session

http協議之分布式業務無狀態解決方案 jwt

jwt 是乙個開放標準,它定義了一種用於簡潔,自包含的用於通訊雙方之間以 json 物件的形式安全傳遞資訊的方法。可以使用 hmac 演算法或者是 rsa 的公鑰金鑰對進行簽名。

jwt格式組成 頭部、負載、簽名:header+payload+signature

頭部:主要是描述簽名演算法

負載:主要描述是加密物件的資訊,如使用者的id等,也可以加些規範裡面的東西,如iss簽發者,exp過期時間,sub 面向的使用者

簽名:主要是把前面兩部分進行加密,防止別人拿到token進行base解密後篡改token

簡單來說: 就是通過一定規範來生成token,然後可以通過解密演算法逆向解密token,這樣就可以獲取使用者資訊。生成的token,可以儲存在cookie,localstorage和sessionstorage裡面。

jwt方案優點:生產的token可以包含基本資訊,比如id、使用者暱稱、頭像等資訊,避免再次查庫;儲存在客戶端,不占用服務端的記憶體資源,使用加解密的方式進行校驗,在分布式業務中能較好的提高效能和節省空間。

jwt方案缺點:token是經過base64編碼,所以可以解碼,因此token加密前的物件不應該包含敏感資訊,如使用者許可權,密碼等;如果沒有服務端儲存,則不能做登入失效處理,除非服務端改秘鑰。

http請求產生到響應的鏈路

1、瀏覽器輸入url, 解析url位址是否合法 ​   

2、瀏覽器檢查是否有快取, 如果有直接顯示。如果沒有跳到第三步 ​

3、在傳送http請求前,需要網域名稱解析(dns解析),解析獲取對應過的ip位址

4、瀏覽器向伺服器發起tcp鏈結,完成tcp三次握手 ​

5、握手成功後,瀏覽器向伺服器傳送http請求 ​

6、伺服器收到處理的請求,將資料返回至瀏覽器 ​   

7、瀏覽器收到http響應

8、瀏覽器解析響應。如果響應可以快取,則存入快取 ​   

9、瀏覽器進行頁面渲染

瀏覽器同源策略和跨域

同源策略(same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。同源策略是由netscape提出的乙個著名的安全策略。

跨域:同源政策由 netscape 公司引入瀏覽器。目前,所有瀏覽器都實行這個政策。 最初,它的含義是指,a網頁設定的 cookie,b網頁不能開啟,除非這兩個網頁"同源"。所謂"同源"指的是"三個相同":協議相同 、網域名稱相同 、埠相同 。一句話:瀏覽器從乙個網域名稱的網頁去請求另乙個網域名稱的資源時,網域名稱、埠、協議任一不同,都是跨域。

Http協議知識點

1.型別 http伺服器會給在http中傳送的http資源物件附加乙個mime型別,接收http資源物件的客戶端會根據這個型別來判斷是否能夠進行處理,例如瀏覽器就能夠處理上百種mime型別的http資源物件 2.mime型別是一種文字標記,表示一種主要物件型別和一種特定的子型別,中間用一條斜槓來分隔...

HTTP協議相關知識點

1.http協議 hypertext transfer protocol,超文字傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議,所有的www檔案都必須遵守這個標準。2.從1990年開始就在www上廣泛應用,是現今在www上應用最多的協議,目前版本為1.1。3.http基於tcp ip通訊協議來...

http協議的關鍵知識點

http協議 1 概念 http 超文字傳輸協議 是乙個基於請求與響應模式的 無狀態的 應用層的協議,常基於tcp的連線方式2 http的組成請求行,訊息報頭,請求正文3 http方法get 用於請求訪問已經被uri 統一資源識別符號 識別的資源,可以通過url傳參給伺服器。put 傳輸檔案,報文主...