要求:
HTTPS | HTTP+AES | UDP+AES | DTLS | |
---|---|---|---|---|
协议 | TCP | TCP | UDP | UDP |
握手 | 3次 | 3次 | 1次 | 2次 |
连接 | 有 | 有 | 无 | Cookie模拟 |
稳定性 | 强 | 强 | 弱 | 较弱 |
包序列 | 有 | 有 | 无 | 有 |
丢包重传 | 有 | 有 | 无 | 1次 |
网络延迟 | 3-4倍 | < 2倍 | 1倍 | 3倍左右 |
特点 | 稳定、安全、速度慢 | 稳定、安全、速度快 | 不稳定、安全、速度极快 | 不够稳定、安全、速度快 |
快: UDP + AES > HTTP + AES > DTLS > HTTPS 安全: HTTPS > DTLS > HTTP + AES > UDP + AES 稳定: HTTP + AES > HTTPS > DTLS > UDP + AES 稳定且安全: HTTPS > HTTP + AES > DTLS > UDP + AES 快、稳定且安全:HTTP + AES > DTLS > HTTPS > UDP + AES 稳定、安全且快: HTTP + AES > HTTPS > DTLS > UDP + AES
首先,需要烤考虑一个问题: 稳定和速度 哪个更重要。让二者不可兼得的时候,哪一个更重要。
以上的4种方案,安全性都是不错的。只是 HTTP + AES 和 UDP + AES并非TLS协议类。而是通过加密本身数据,达到安全的目的。
批量IP查询接口支持200个域名同时查询,数据量比较大,数据包大将会产生UDP包切割帧的问题,出现丢包的概率就会变大。
综上所述: