一个安全的信息系统,合法身份检查是必须环节。尤其 IM 这种以 “人” 为中心的社交体系,身份认证更是必不可少。
一些 PC 时代小型 IM 系统中,身份认证可能直接做到长连接中(也就是整个 IM 系统都是以长连接为中心:身份鉴权、数据收发、文件传送等等)。但当前主流的 IM(尤其新一代的移动端 IM)中,都是 “长”(指 TCP 或 UDP 长连接)、“短”(是指 Http 短连接)相结合的方式。
一个现代的移动端 IM “长”、“短” 连接配合内容大致如下:
1)短连接用途 1:前置 HTTP 的 SSO 单点接口来实现身份认证;
2)短连接用途 2:集群式的 IM 中可能还会有独立(或集成于 SSO 单独登陆接口中)的 SLB 接口(即基于 HTTP 短连接拉取 IM 服务器集群 IP 列表);
3)短连接用途 3:各种小文件的上传、下载接口实现(头像、图片、语音、文件等)都会是基于 Http 实现;
4)长连接用途 1:用户的实时上、下线状态通知;
5)长连接用途 2:实时的加友、加群等指令收发;
6)长连接用途 3:服务端发起的其它实时指令推送等。
总之:当今主流的移动 IM 系统中,“长”、“短” 连接分工明确,各自将自身的优势发挥到最大化,优点是:系统分工明确、分层清晰、业务划分合理、负载方案成本低、符合移动网络的特性等。
针对上述主流移动 IM 系统中 “长”、“短” 连接的分工方式,其中最为重要也是用户最先接触到的 —— 就是基于 Http 的 SSO 单点登陆接口(有的系统里