1. 詳細(xì)計算機(jī)網(wǎng)絡(luò)基礎(chǔ)
關(guān)于計算機(jī)網(wǎng)絡(luò)的一些基礎(chǔ)
2. 描述一次網(wǎng)絡(luò)請求的流程
域名解析 -----> TCP的三次握手 -----> 建立TCP連接后發(fā)起HTTP請求 -----> 服務(wù)器響應(yīng)HTTP請求 ----->( 瀏覽器解析html代碼锭碳,同時請求html代碼中的資源(如js此虑、css实辑、圖片等)蓖捶、最后瀏覽器對頁面進(jìn)行渲染并呈現(xiàn)給用戶) -----> 四次揮手結(jié)束連接
描述一次完整的網(wǎng)絡(luò)請求過程
3. 詳細(xì)的HTTP報文結(jié)構(gòu)
HTTP請求匹舞,響應(yīng)報文結(jié)構(gòu)
4. HttpClient和HttpURLConnection的區(qū)別
在Android 2.2版本之前揩徊,HttpClient擁有較少的bug,因此使用它是最好的選擇蝶棋。
而在Android 2.3版本及以后卸亮,HttpURLConnection則是最佳的選擇。它的API簡單玩裙,體積較小兼贸,因而非常適用于Android項目段直。壓縮和緩存機(jī)制可以有效地減少網(wǎng)絡(luò)訪問的流量,在提升速度和省電方面也起到了較大的作用溶诞。對于新的應(yīng)用程序應(yīng)該更加偏向于使用HttpURLConnection鸯檬。
HttpClient和HttpURLConnection的區(qū)別
5. TCP三次握手,四次揮手的具體細(xì)節(jié)
可以二次握手嗎螺垢?Server端易受到SYN攻擊喧务?為什么A在TIME-WAIT狀態(tài)必須等待2MSL的時間?為什么連接的時候是三次握手甩苛,關(guān)閉的時候卻是四次握手蹂楣?在下面這篇文章里可以找到答案
TCP三次握手,四次揮手過程
6. Http的緩存機(jī)制
第一篇是詳細(xì)的HTTP緩存機(jī)制的介紹讯蒲,第二篇中有兩個小問題可以自己檢查一下是否真的理解HTTP的緩存機(jī)制痊土。
徹底弄懂HTTP緩存機(jī)制及原理
Http協(xié)議:徹底弄懂 Http 緩存機(jī)制 - 基于緩存策略三要素分解法
7. Https描述和實現(xiàn)
下面兩篇一起看可以更好的理解HTTPS其中的設(shè)計
HTTPS原理與實現(xiàn)
也許,這樣理解HTTPS更容易
8. Volley
9. okhttp
掌握著三篇就算徹底弄懂okhttp墨林,第一篇基礎(chǔ)赁酝,后面兩篇需要好好啃一啃,第二篇是整個流程的分析旭等,能看懂基本上就把okhttp的請求流程掌握了酌呆。最后一篇是更加細(xì)節(jié)的東西,個人建議先看完第二篇再看這篇搔耕。
OkHttp基礎(chǔ)的使用
帶你讀懂OkHttp源碼結(jié)構(gòu)
OkHttp 3.7源碼分析
10. Retrofit
第一遍介紹的如何使用Retrofit2隙袁;第二篇是拋物線的匠心之作結(jié)合RxJava使用;第三篇更加綜合弃榨。
你真的會用Retrofit2嗎?Retrofit2完全教程
給 Android 開發(fā)者的 RxJava 詳解
Android:手把手帶你 深入讀懂 Retrofit 2.0
11. Volley菩收,okhttp,retrofit之間的區(qū)別和核心原理和使用場景總結(jié)
Android主流網(wǎng)絡(luò)請求開源庫的對比