iOS中tcp/ip协议,udp/ip协议,http和https协议

一、TCP/IP协议(传输控制协议)

1. 核心特性

  • 面向连接:通信前需通过"三次握手"建立连接,结束时通过"四次挥手"断开。
  • 可靠传输:通过确认应答(ACK)、超时重传、流量控制(滑动窗口)、拥塞控制(慢启动、拥塞避免)确保数据不丢失、不重复、按序到达。
  • 全双工通信:支持双向数据传输。
  • 字节流传输:数据被看作无结构的字节流,需应用层处理消息边界。

2. 协议栈层级

graph LR
    A[应用层 HTTP/FTP] --> B[传输层 TCP]
    B --> C[网络层 IP]
    C --> D[链路层 Ethernet]

3. 典型应用场景

  • 网页浏览(HTTP)、文件传输(FTP)、电子邮件(SMTP)、数据库连接等需要高可靠性的场景。

4. 关键参数

  • 端口号(21/22/80等)、序列号(Seq)、确认号(Ack)、窗口大小(Window Size)。

二、UDP/IP协议(用户数据报协议)

1. 核心特性

  • 无连接:无需建立连接,直接发送数据包。
  • 不可靠传输:不保证数据到达、不保证顺序、无重传机制。
  • 高效性:头部仅8字节(TCP至少20字节),无连接管理开销。
  • 支持广播/多播:可同时向多个主机发送数据。

2. 与TCP对比

特性 TCP UDP
连接方式 面向连接 无连接
可靠性 可靠 不可靠
传输效率 较低(约60-70%) 高(接近100%)
适用场景 网页、文件传输 视频流、DNS查询

3. 典型应用场景

  • 实时视频/音频(Zoom、抖音)、DNS查询、在线游戏(王者荣耀)、物联网传感器数据。

三、HTTP协议(超文本传输协议)

1. 核心特性

  • 无状态:服务器不记录客户端状态(依赖Cookie/Session弥补)。
  • 明文传输:请求/响应头和数据均未加密。
  • 基于TCP:默认端口80,需先建立TCP连接。
  • 请求-响应模型:客户端发起请求,服务器返回响应。

2. 工作流程

sequenceDiagram
    Client->>Server: GET /index.html HTTP/1.1
    Server->>Client: HTTP/1.1 200 OK + 网页数据

3. 版本演进

  • HTTP/1.1:持久连接(Keep-Alive)、管道化(Pipelining)。
  • HTTP/2:二进制分帧、多路复用、头部压缩。
  • HTTP/3:基于QUIC(UDP实现),解决队头阻塞。

四、HTTPS协议(安全超文本传输协议)

1. 核心改进

  • 加密传输:通过SSL/TLS加密数据,防窃听、篡改。
  • 身份认证:CA证书验证服务器身份,防中间人攻击。
  • 默认端口443,兼容HTTP协议。

2. TLS握手流程

sequenceDiagram
    Client->>Server: ClientHello(支持加密套件)
    Server->>Client: ServerHello(选定加密套件)+ 证书
    Client->>Server: 预主密钥(用证书公钥加密)
    Server->>Client: 切换加密通信

3. 加密技术

  • 对称加密(AES):加密通信内容。
  • 非对称加密(RSA/ECC):交换对称密钥。
  • 哈希算法(SHA-256):验证数据完整性。

五、协议对比总结

协议 传输层 可靠性 加密性 典型应用
TCP/IP TCP 可靠 网页、邮件、SSH
UDP/IP UDP 不可靠 直播、游戏、VoIP
HTTP TCP 可靠 普通网页浏览
HTTPS TCP 可靠 支付、登录等安全场景

六、iOS开发中的实际应用

  1. TCP使用场景

    • 即时通讯消息收发(如微信文字消息)。
    • 需要可靠传输的API请求(如银行交易)。
  2. UDP使用场景

    • 音视频通话(集成声网SDK)。
    • 实时游戏状态同步(如王者荣耀位置同步)。
  3. HTTPS强制要求

    • App Transport Security (ATS) 要求iOS应用默认使用HTTPS。
    • 例外域名需在Info.plist中配置NSExceptionDomains

通过理解这些协议的特性,开发者可以更合理地选择网络方案(如直播用UDP+QUIC,支付用HTTPS+TCP),并优化App的网络性能与安全性。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容