極客時間 透析http 基礎篇 筆記 02

2021-10-05 08:13:33 字數 1411 閱讀 9757

http 協議基於底層的 tcp/ip 協議,所以必須要用 ip 位址建立連線;

如果不知道 ip 位址,就要用 dns 協議去解析得到 ip 位址,否則就會連線失敗;

建立 tcp 連線後會順序收發資料,請求方和應答方都必須依據 http 規範構建和解析報文;

為了減少響應時間,整個過程中的每乙個環節都會有快取,能夠實現「短路」操作;

雖然現實中的 http 傳輸過程非常複雜,但理論上仍然可以簡化成實驗裡的「兩點」模型。

http 報文結構就像是「大頭兒子」,由「起始行 + 頭部 + 空行 + 實體」組成,簡單地說就是「header+body」;

http 報文可以沒有 body,但必須要有 header,而且 header 後也必須要有空行,形象地說就是「大頭」必須要帶著「脖子」;

請求頭由「請求行 + 頭部字段」構成,響應頭由「狀態行 + 頭部字段」構成;

請求行有三部分:請求方法,請求目標和版本號;

狀態行也有三部分:版本號,狀態碼和原因字串;

頭部欄位是 key-value 的形式,用「:」分隔,不區分大小寫,順序任意,除了規定的標準頭,也可以任意新增自定義字段,實現功能擴充套件;

http/1.1 裡唯一要求必須提供的頭字段是 host,它必須出現在請求頭里,標記虛擬主機名。

請求方法是客戶端發出的、要求伺服器執行的、對資源的一種操作;

請求方法是對伺服器的「指示」,真正應如何處理由伺服器來決定;

最常用的請求方法是 get 和 post,分別是獲取資料和傳送資料;

head 方法是輕量級的 get,用來獲取資源的元資訊;

put 基本上是 post 的同義詞,多用於更新資料;

「安全」與「冪等」是描述請求方法的兩個重要屬性,具有理論指導意義,可以幫助我們設計系統。

uri 是用來唯一標記伺服器上資源的乙個字串,通常也稱為 url;

uri 通常由 scheme、host:port、path 和 query 四個部分組成,有的可以省略;

scheme 叫「方案名」或者「協議名」,表示資源應該使用哪種協議來訪問;「host:port」表示資源所在的主機名和埠號;

path 標記資源所在的位置;query 表示對資源附加的額外要求;

在 uri 裡對「@&/」等特殊字元和漢字必須要做編碼,否則伺服器收到 http 報文後會無法正確處理。

狀態碼在響應報文裡表示了伺服器對請求的處理結果;

狀態碼後的原因短語是簡單的文字描述,可以自定義;

狀態碼是十進位制的三位數,分為五類,從 100 到 599;

2××類狀態碼表示成功,常用的有 200、204、206;

3××類狀態碼表示重定向,常用的有 301、302、304;

4××類狀態碼表示客戶端錯誤,常用的有 400、403、404;

5××類狀態碼表示伺服器錯誤,常用的有 500、501、502、503。

極客時間 透視http筆記 破冰 01

http 協議始於三十年前蒂姆 伯納斯 李的一篇 http 0.9 是個簡單的文字協議,只能獲取文字資源 http 1.0 確立了大部分現在使用的技術,但它不是正式標準 http 1.1 是目前網際網路上使用最廣泛的協議,功能也非常完善 http 2 基於 google 的 spdy 協議,注重效能...

極客時間 應用層 HTTP 學習筆記

是個 url,叫作統一資源定位符。之所以叫統一,是因為它是有格式的。http 稱為協議,www.163.com 是乙個網域名稱,表示網際網路上的乙個位置。有的 url 會有更詳細的位置標識,例如 index.html 正是因為這個東西是統一的,所以當你把這樣乙個字串輸入到瀏覽器的框裡的時候,瀏覽器才...

極客時間《趣談網路》學習筆記

1.網路程式是如何工作的 從上面的圖中我們可以看出,當我們在電腦上瀏覽網頁的時候,我們的瀏覽器會解析遠端伺服器發來的頁面資訊,解析流程大致是這樣的 4 應用層 瀏覽器取下http頭,然後將網頁內容進行展示。由此我們完成,從網路中獲取報文到網頁內容展示的過程。當我們需要操作頁面時,該流程正好是接受報文...