-
【整理前人筆記】 多路復用機制:HttpEngine(Http引擎)每次請求數據時,都會先調用nextConnection(),如果返回一個連接對象,則就調用sendRequest()發送一個請求。如果nextConnection()返回為null,就會調用createNextConnection()創建一個連接,然后去發送請求。 重連機制:通過一個while的循環,判斷條件是當前狀態是否連接,如果沒有連接,就會調用getResquese()發送請求,緊接著HttpEngine調用recover(),進行重連操作,直到當前連接狀態為已連接,結束循環。 大概流程是這樣的: 1.用構造者模式去創建一個請求(Request) okhttp普遍使用構建者模式開發 Request.Builder 2.添加到分發器中(Dispatcher) 3.由分發器分發到httpEngine,如果這個請求在之前有緩存過,那么直接返回緩存的Response,否者創建連接。 (HttpEngine首先調用nextConnection(),獲取不到Connection 才會調用createNextConnection()) 4.從連接池中獲得一個連接,進行網絡請求(...)查看全部
-
- HTTP出現及發展 URL Status Response Code Protocal Method Kept Alive Content-Type Client Address Remote Address 請求頭 a.表明本次請求的客戶端 b.本次請求所使用的cookie c.本次請求希望返回的數據類型 d.本次請求是否采用數據壓縮等一系列設置 請求體 a.指定本次請求所使用的方法 b.主要用來攜帶本次請求的參數 響應頭 a.服務器標識 b.狀態碼 c.內容編碼 d.cookie返回給客戶端的cookie等等 響應體 a.主要是本次請求返回的數據 工作流程 a.客戶機與服務器需要建立連接 b.建立連接后,客戶機發送一個請求給服務器 c.服務器接到請求后,給予相應的響應信息 d.客戶端接收服務器所返回的信息,連接斷開 - HTTP優勢 簡單,快速 靈活 無連接 無狀態 - HTTP2.0以及SPDY介紹 SPDY是兼容性協議 多路復用請求 對請求劃分優先級 壓縮請求頭 HTTP2.0是基于SPDY,IETF定制的新一代HTTP協議 更安全的SSL - okhttp優勢 為Android客戶端支持HTTP2.0提供途徑,由square團隊開發; 支持SPDY,HTTP2.0共享同一個socket來處理同一個服務器的所有請求; 如果SPDY不可用,則通過連接池來減少請求延時; 無縫的支持GZIP來減少數據流量; 緩存響應數據來減少重復的網絡請求; 可以從很多常用的連接問題中自動恢復; 使用起來很簡單。查看全部
-
求源碼查看全部
-
1.http協議結構 (1)請求頭 本次請求的客戶端(瀏覽器類型)、 請求所使用的cookie、希望返回的數據類型(json、string)、是否采用數據壓縮 (2)請求體 本次請求所使用的方法(get\post)、攜帶本次請求的參數 (3)響應頭 服務器標識、狀態碼(201,303,404)、內容編碼、返回給客戶端的編碼 (4)響應體 本次請求所返回的數據 2.okhttp優勢 (1).支持SPDY,http2.0共享同一個Socket來處理 同一個服務器的所有請求 (2).如果SPDY不可用,則通過連接池來減少請求延時 (3).無縫的支持GZIP來減少數據流量 (4).緩存響應數據來減少重復的網絡請求 (5).可以從很多常用的連接問題中自動恢復 (6).使用起來非常簡單查看全部
-
多路復用機制查看全部
-
wenjianshangchuan查看全部
-
自動重連機制查看全部
-
多路復用機制查看全部
-
okhttp的文字流程圖查看全部
-
大概流程是這樣的: 1.用構造者模式去創建一個請求(Request) 2.添加到分發器中(Dispatcher) 3.由分發器分發到httpEngine,如果這個請求在之前有緩存過,那么直接返回緩存的Response,否者創建連接。 4.從連接池中獲得一個連接,進行網絡請求(...)查看全部
-
看看jjjkh查看全部
-
設計架構查看全部
-
okhttp源碼查看全部
-
call 任務類查看全部
-
runOnUiThread是什么查看全部
舉報
0/150
提交
取消