http學習總結

2021-09-23 22:35:41 字數 1196 閱讀 7099

http協議屬於應用層的協議,dns解析得到ip後,通過三次握手建立tcp連線,然後傳送http請求,目前http基本上都是1.1版本,預設都是開啟keep-alive,這樣建立的tcp連線,可以在多次請求中復用。

http的報文主要包括三個部分:

(1)請求行

主要包括url(例子:www.baidu.com),方法(get/put/post/delete),版本(http版本一般為1.1)等

get和post區別:

答:get和post都可以傳遞引數給伺服器,但是get顧名思義就是去伺服器獲取一些資訊,而post它需要主動告訴伺服器一些資訊,告訴伺服器的資訊一般會放在正文中。

get請求會將引數跟在url後傳遞,而post請求作為http訊息的實體內容發給web伺服器,當然,在ajax中,這種區別對使用者是不可見的。

get對傳輸的資料是有大小限制的,通常不能大於2kb,而使用post方式傳遞的資料量要比get方式大得多(理論上不受限制)

get請求的資料會被瀏覽器快取起來,因此其他人可以從瀏覽器的歷史記錄中讀取到這些資料,例如賬號密碼,在某種情況下,get方式會帶來嚴重的安全問題,而post方式相對來說就可以避免這些問題。

post與put的區別:

答:post和put都是要給傳給伺服器東西的方法,但是post往往用來建立資源,而put往往是用來修改乙個資源的。

(2)首部字段

首部是key value,通過冒號分割,比較常見的字段是

content-type:表示正文的格式,一般是json。

(3)正文實體

一般json格式

http返回的報文也是有格式的。

(1)狀態行

200:成功

404:找不到資源

(2)首部

也是key value

retry-after:告訴客戶端應該在多久再次嘗試一下

content-type:一般是json

(3)實體

一.http1.0 與http2.0的區別

a.http1.0在應用層以純文字的形式進行通訊,每次通訊都需要帶完整的http的頭,效率比較低下,http2.0為了解決這些問題,http2.0對http的頭進行了一定的壓縮,將原來每次都要攜帶的大量的key value在兩端建立乙個索引,對相同的頭只傳送索引表中的索引.

b.http2.0將所有的傳輸資訊分割成更小的訊息和幀,如常見的幀有header幀,data幀。

HTTP學習總結

http是hyper text transfer protocol 超文字傳輸協議 的縮寫。http協議是用於從www伺服器傳輸超文字到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證計算機正確快速地傳輸超文字文件,還確定傳輸文件中的哪一部分,以及哪部分內容首先顯示 如文字先...

HTTP協議學習總結

http 協議是網際網路的基礎協議,它是基於 tcp ip 協議 傳輸層協議 的應用層協議,不涉及資料報傳輸,主要規定了客戶端和伺服器之間的通訊格式,預設使用80埠,是一種請求 響應式的協議,客戶端與伺服器建立連線後,傳送乙個請求給伺服器,伺服器接到請求後,給予相應的響應資訊。缺點 http 1.0...

HTTP協議學習總結

http 協議是網際網路的基礎協議,它是基於 tcp ip 協議 傳輸層協議 的應用層協議,不涉及資料報傳輸,主要規定了客戶端和伺服器之間的通訊格式,預設使用80埠,是一種請求 響應式的協議,客戶端與伺服器建立連線後,傳送乙個請求給伺服器,伺服器接到請求後,給予相應的響應資訊。http 1.0 版的...