0%

Android中的通信协议总结

  • Android中的通信协议总结

网络请求库

项目规模 / 语言 推荐库
Java 项目 Retrofit + OkHttp
Kotlin 单平台 Retrofit 或 Fuel
Kotlin 多平台 Ktor Client
小型项目 / 老项目 Volley

网络协议

应用场景 推荐协议
普通数据请求 HTTPS
实时通信(IM/推送) WebSocket
远程调用(高性能) gRPC
文件传输 FTP / HTTPS
IoT设备 MQTT

Quic(Quick UDP Internet Connections)

  • 由 Google 开发,基于 UDP 而不是 TCP

  • 用于取代 HTTP/2 和 TCP + TLS 的组合

  • 已被 IETF 接纳为标准协议(HTTP/3 正式使用 QUIC)

核心特点

  • 基于 UDP:避免 TCP 建立连接的三次握手延迟
  • 0-RTT 握手:可实现几乎“瞬时”连接建立
  • 集成 TLS 1.3 加密:加密默认启用,安全性更强
  • 多路复用且无队头阻塞(Head-of-Line Blocking)
  • 连接迁移支持:网络切换(如 WiFi → 4G)时连接不中断

适用场景

  • 高延迟网络(如移动网络、海外访问)
  • 实时视频、语音传输

Spdy

  • 由 Google 提出,设计目标为加快网页加载速度
  • 是 HTTP/2 的前身和基础

核心特点

  • 多路复用:一个 TCP 连接上同时发送多个请求。
  • 头部压缩:减少 HTTP 请求头冗余信息。
  • 优先级控制:重要资源优先加载。
  • 服务器推送:服务端可主动向客户端推送资源。

现状

  • SPDY 最终演化为 HTTP/2,其核心特性已被继承。
  • Google Chrome 自 2016 年起移除对 SPDY 的支持。