http協議學習筆記(2)

2021-08-08 04:29:13 字數 877 閱讀 9449

http是應用層協議,

tcp是傳輸層協議,

連線時基於

tcp連線的

過程:根據url通過

dns找出要訪問的伺服器的

ip位址,然後建立套接字,客戶端與伺服器間進行

tcp連線(三次握手),客戶端傳送請求報文,帶有

syn標籤,伺服器收到後返回乙個

ack應答包,並傳送乙個帶有

syn標籤的包,客戶端收到後,返回

ack包確認連線成功(現代

tcp棧在第三次握手的時候就已經開始傳送資料),建立連線後傳送資料。

tcp延遲演算法:如果規定時間內沒有收到

ack包就會進行重連。

ack應答包實際上非常小,所以允許在第三次握手時攜帶資料,通常延遲

100到

200毫秒,等待資料,如果沒有資料要攜帶,那麼就會單獨傳送

ack應答包

產生的問題:

1、傳送資料是很快的,大部分時間都浪費在建立連線的過程中。tcp的首部和標記佔

40個位元組,如果只傳送少量的資料會浪費,所以設計了

nagle

演算法,只有資料到達最大容量時才會進行傳送。但

tcp連線建立後,並不會直接傳送

資料,而是傳送

請求報文,但請求報文很小,不能佔滿容量,所以一定會等待

100到

200毫秒,造成了很大的時間延遲

2、tcp慢啟動,建立連線後

tcp會限制最大速度,一段時間後才能提速,用於防止過載和擁塞,也造成了一定的延遲

解決方法:1、設定引數

tcp_nodelay

,禁用nagle演算法

2、持久連線

HTTP學習筆記 HTTP協議

tcp ip協議按層次分為四層 應用層,傳輸層,網路層,資料鏈路層。該層決定了向使用者提 用服務時通訊的活動。如ftp和dns服務等。傳輸層有兩個性質不同的協議 tcp和udp協議。網路層的作用就是計算機之間通過網路裝置進行傳輸時,選擇一條傳輸路線。用來處理連線網路的硬體部分,硬體上的範疇均在該層的...

http協議學習筆記

http 協議是建立在 tcp ip協議基礎上 http 協議全稱 超文字傳輸協議 http 協議1.0 1.1版本 目前通用的是1.1版本 http1.0 稱為短連線 http1.1 稱為長連線.所謂長,和短指的是 持續時間的 長連線 1.1 30s 短連線是傳送完資料就斷掉 基本結構 get t...

HTTP協議學習筆記

http協議 1.面試題 聊一下http協議 協議的完整通訊過程 2.通訊過程 1 請求 2 響應 3.http請求的方法 1 get 2 post 4.ios中傳送get post請求的手段 1 nsurlconnection 傳送乙個同步請求 nsdata sendsynchronousrequ...