iwehdio的:
學習自:
請求訪問文字或等資源的一方,我們叫做客戶端;負責接收,提供響應的一方稱為伺服器端。
client客戶端請求server服務端,server服務端響應給client客戶端。一次請求和一次響應就達成了一次通訊。
http的特點:
http的缺點:
無連線是http/1.0版的主要缺點,每個tcp連線只能傳送乙個請求,傳送資料完畢後,連線就關閉了,如果還要請求就必須要新建乙個請求連線。
http1.1雖然是無狀態協議,但是為了實現期望的保持狀態功能,於是引入了cookie技術,有了cookie,和http協議通訊,就可以管理狀態了。
http1.1版本是最流行的版本,可以持久連線,tcp連線預設不關閉,可以被多個請求復用,只有在一段時間內,沒有請求,才自動關閉(keep-alive)。
響應訊息:
狀態碼:http協議的狀態碼由3位數字組成,第乙個數字定義了響應的類別,共有5中類別:
請求方法:
get 請求指定的頁面資訊,並返回實體主體。
head 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
post 向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。
put 從客戶端向伺服器傳送的資料取代指定的文件的內容。
delete 請求伺服器刪除指定的頁面。
connect http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。
options 允許客戶端檢視伺服器的效能。
trace 回顯伺服器收到的請求,主要用於測試或診斷。
常見字段:
響應字段:
get與post的區別:
請求引數的區別:
傳輸資料的大小:
安全性:
安全和冪等的概念:
管道網路傳輸:
隊頭阻塞:
https 解決了 http 的哪些問題?
加入ssl/tsl協議後的https:
https 是如何解決上面的三個風險的?
具體的加密方法和ssl/tls 的建立過程之後再看。
http/1.1 還是有效能瓶頸:
針對http/1.1 的效能瓶頸,http/2 做了什麼優化?
二進位制格式:
資料流:
多路復用:
伺服器推送:
http/2 有哪些缺陷?http/3 做了哪些優化?
tl3 公升級成了最新的 1.3 版本,頭部壓縮演算法也公升級成了 qpack。
https 要建立乙個連線,要花費 6 次互動,先是建立三次握手,然後是 tls/1.3 的三次握手。quic 直接把以往的 tcp 和 tls/1.3 的 6 次互動合併成了 3 次,減少了互動次數。
quic 是新協議,對於很多網路裝置,根本不知道什麼是 quic,只會當做 udp,這樣會出現新的問題。所以 http/3 現在普及的進度非常的緩慢。
iwehdio的:
HTTP 基礎知識
具體去看原文 你應該知道的http基礎知識 1.http請求報文格式 http的請求報文分為三個部分請求行 請求頭和請求體。1.1 請求行 請求行 request line 分為三個部分 請求方法 請求位址和協議及版本,以crlf r n 結束。http 1.1定義的請求方法有8中 get post...
HTTP 基礎知識
標籤位於文件的頭部,不包含任何內容。標籤的屬性定義了與文件相關聯的名稱 值對。標籤永遠位於 head 元素內部。http equiv 屬性為名稱 值對提供了名稱。並指示伺服器在傳送實際的文件之前先在要傳送給瀏覽器的 mime 文件頭部包含名稱 值對。當伺服器向瀏覽器傳送文件時,會先傳送許多名稱 值對...
HTTP基礎知識
get 用於請求訪問已經被uri 統一資源識別符號 識別的資源,可以通過url傳參給伺服器 post 用於傳輸資訊給伺服器,主要功能與get方法類似,但一般推薦使用post方式。put 傳輸檔案,報文主體中包含檔案內容,儲存到對應uri位置。head 獲得報文首部,與get方法類似,只是不返回報文主...