HTTP學習筆記記錄(簡約版)

2021-10-02 04:42:07 字數 1419 閱讀 4545

參照**:

請求報文:

響應報文:

http協議對傳送的請求響應不做持久化處理。——>引入cookie技術用於狀態管理

cookie 對用與登入的狀態管理,沒有 cookie 這個技術的話,因為 http 不儲存狀態,每次開啟新網頁都必須再次登入

cookie 會根據響應報文中的set-cookie欄位來通知客戶端自動儲存 cookie。下次請求時會自動傳送 cookie,伺服器會比對資料得到狀態結果。

先引入***冪等的概念。

***指對伺服器上的資源做改變

搜尋是無***的,註冊是***的。

冪等指傳送 m 和 n 次請求(兩者不相同且都大於1),伺服器上資源的狀態一致。註冊10個和11個帳號是不冪等的,對文章進行更改10次和11次是冪等的。

在規範的應用場景上說,get 多用於無***,冪等的場景,例如搜尋關鍵字。post 多用於***,不冪等的場景,例如註冊。

在技術上說:

get 請求能快取,post 不能

post 相對 get 安全一點點,因為get 請求都包含在 url裡,且會被瀏覽器儲存歷史紀錄,post 不會,但是在抓包的情況下都是一樣的。

post 可以通過 request body來傳輸比get更多的資料,get 沒有這個技術

url有長度限制,會影響 get 請求,但是這個長度限制是瀏覽器規定的,不是 rfc規定的

post 支援更多的編碼型別且不對資料型別限制

2xx:成功

3xx:重定向

4xx客戶端錯誤:

5xx伺服器錯誤:

301和302的區別:

301表示舊位址a的資源已經被永久地移除了(這個資源不可訪問了),搜尋引擎在抓取新內容的同時也將舊的**交換為重定向之後的**;302表示舊位址a的資源還在(仍然可以訪問),這個重定向只是臨時地從舊位址a跳轉到位址b,搜尋引擎會抓取新的內容而儲存舊的**

盡量使用301而不是302——防止**劫持

https 是 http 建立在 ssl/tls 安全協議上的。

在 ios 中,客戶端本地會存放著 ca 證書,在https 請求時,會首先像伺服器索要公鑰,獲得公鑰後會使用本地 ca 證書驗證公鑰的正確性,然後通過正確的公鑰加密資訊傳送給伺服器,伺服器會使用私鑰解密資訊。

HTTP學習記錄

日誌 160815 get與post 二者都是明文傳輸 http請求格式 request line http請求行 headers http請求訊息報頭 blank line 回車換行 request body http請求正文 http響應格式 status line http響應狀態行 head...

HTTP學習記錄

title http學習記錄 toc true date 2018 09 21 20 40 48 http協議,hypertext transfer protocol,超文字傳輸協議,是網際網路上應用最為 廣泛的一種網路傳輸協議。已過時,只接受get一種請求方法,沒有在通訊中指定版本號,且不支援請求...

Http學習記錄

目錄http 超文字傳輸協議 是乙個簡單的請求 響應協議,它通常執行在tcp之上。https 安全的 security 請求行reuquest url 請求位址 request method get get方法 post方法 status code 200 ok 狀態碼 200 remote add...