ZUI易入門Android之HTTP

2021-10-07 04:36:00 字數 1109 閱讀 7307

http 是基於 tcp/ip 協議的應用層協議。它不涉及資料報(packet)傳輸,主要規定了客戶端和伺服器之間的通訊格式,預設使用80埠。

1.0 :http/1.0 版的主要缺點是,每個tcp連線只能傳送乙個請求。傳送資料完畢,連線就關閉,如果還要請求其他資源,就必須再新建乙個連線。

tcp連線的新建成本很高,因為需要客戶端和伺服器三次握手,並且開始時傳送速率較慢(slow start)。所以,http 1.0版本的效能比較差。隨著網頁載入的外部資源越來越多,這個問題就愈發突出了。

為了解決這個問題,有些瀏覽器在請求時,用了乙個非標準的connection欄位。connection: keep-alive

1.1:1.1 版的最大變化,就是引入了持久連線(persistent connection),即tcp連線預設不關閉,可以被多個請求復用,不用宣告connection: keep-alive

雖然1.1版允許復用tcp連線,但是同乙個tcp連線裡面,所有的資料通訊是按次序進行的。伺服器只有處理完乙個回應,才會進行下乙個回應。要是前面的回應特別慢,後面就會有許多請求排隊等著。這稱為"隊頭堵塞"(head-of-line blocking)。

2.0:http/2 復用tcp連線,在乙個連線裡,客戶端和瀏覽器都可以同時傳送多個請求或回應,而且不用按照順序一一對應,這樣就避免了"隊頭堵塞"。

舉例來說,在乙個tcp連線裡面,伺服器同時收到了a請求和b請求,於是先回應a請求,結果發現處理過程非常耗時,於是就傳送a請求已經處理好的部分, 接著回應b請求,完成後,再傳送a請求剩下的部分。

這樣雙向的、實時的通訊,就叫做多工(multiplexing)。

抓包工具的使用:fiddler、charles

抓包工具原理

ZUI易入門Android之 MMKV

今天我們主要從這幾個方面來解釋一下mmkv boolean intlong float double string set集合 byte陣列 可序列化物件 依賴注入 dependencies初始化 設定初始化的根目錄 string dir getfilesdir getabsolutepath mm...

ZUI易入門Android之MVP實踐

在入門mvp案例之前我們現對activity基類進行建立 retention runtime 執行時 註解 target type 類 介面 註解 public inte ce viewinject public abstract class baseactivity extends lifecir...

ZUI易入門Android之UI框架的使用

真的是非常的不錯。這個開源框架就是 qmui android 它的 slogan 是 提高 android ui 開發效率的 ui 庫。qmui android 的設計目的是用於輔助快速搭建乙個具備基本設計還原效果的 android 專案,同時利用自身提供的豐富控制項及相容處理,讓開發者能專注於業務...