基础知识系列(Android网络相关知识点)

1. 详细计算机网络基础

关于计算机网络的一些基础

2. 描述一次网络请求的流程

域名解析 -----> TCP的三次握手 -----> 建立TCP连接后发起HTTP请求 -----> 服务器响应HTTP请求 ----->( 浏览器解析html代码,同时请求html代码中的资源(如js、css、图片等)、最后浏览器对页面进行渲染并呈现给用户) -----> 四次挥手结束连接
描述一次完整的网络请求过程

3. 详细的HTTP报文结构

HTTP请求,响应报文结构

基础知识系列(Android网络相关知识点)_第1张图片
报文结构.png

4. HttpClient和HttpURLConnection的区别

在Android 2.2版本之前,HttpClient拥有较少的bug,因此使用它是最好的选择。
而在Android 2.3版本及以后,HttpURLConnection则是最佳的选择。它的API简单,体积较小,因而非常适用于Android项目。压缩和缓存机制可以有效地减少网络访问的流量,在提升速度和省电方面也起到了较大的作用。对于新的应用程序应该更加偏向于使用HttpURLConnection。
HttpClient和HttpURLConnection的区别

5. TCP三次握手,四次挥手的具体细节

可以二次握手吗?Server端易受到SYN攻击?为什么A在TIME-WAIT状态必须等待2MSL的时间?为什么连接的时候是三次握手,关闭的时候却是四次握手?在下面这篇文章里可以找到答案

基础知识系列(Android网络相关知识点)_第2张图片
三次握手.png

基础知识系列(Android网络相关知识点)_第3张图片
四次挥手.png

TCP三次握手,四次挥手过程

6. Http的缓存机制

第一篇是详细的HTTP缓存机制的介绍,第二篇中有两个小问题可以自己检查一下是否真的理解HTTP的缓存机制。
彻底弄懂HTTP缓存机制及原理
Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法

基础知识系列(Android网络相关知识点)_第4张图片
第一次请求.png

基础知识系列(Android网络相关知识点)_第5张图片
之后请求http缓存流程.png

7. Https描述和实现

下面两篇一起看可以更好的理解HTTPS其中的设计
HTTPS原理与实现
也许,这样理解HTTPS更容易

8. Volley

Volley源码解析

9. okhttp

掌握着三篇就算彻底弄懂okhttp,第一篇基础,后面两篇需要好好啃一啃,第二篇是整个流程的分析,能看懂基本上就把okhttp的请求流程掌握了。最后一篇是更加细节的东西,个人建议先看完第二篇再看这篇。
OkHttp基础的使用
带你读懂OkHttp源码结构
OkHttp 3.7源码分析

基础知识系列(Android网络相关知识点)_第6张图片
OkHttp结构.png

10. Retrofit

第一遍介绍的如何使用Retrofit2;第二篇是抛物线的匠心之作结合RxJava使用;第三篇更加综合。
你真的会用Retrofit2吗?Retrofit2完全教程
给 Android 开发者的 RxJava 详解
Android:手把手带你 深入读懂 Retrofit 2.0

11. Volley,okhttp,retrofit之间的区别和核心原理和使用场景总结

Android主流网络请求开源库的对比

基础知识系列(Android网络相关知识点)_第7张图片
对比.png

你可能感兴趣的:(基础知识系列(Android网络相关知识点))