持久通信模式:从存在检测到服务器推送的技术解析
1. 持久通信模式概述
在持久通信模式中,HTTP 服务器位于主服务器上,可被多个客户端访问。其中部分客户端是使用网页浏览器的用户,还有一个客户端是运行监听信息变化应用程序的计算机。当信息发生变化时,该计算机客户端会向写入流写入数据,触发 HTTP PUT 或 POST 请求,从而使其他监听客户端发生改变。这种将进程分离的方式,让服务监听和更新 HTTP 服务器数据的方式更具灵活性。
2. 存在检测示例
存在检测在代码层面上是对全局状态应用程序的增量更新。其核心需求是全局状态资源需要知道谁正在访问该资源,用户的身份信息用于增强全局状态资源的内容。
- 用户认证
存在检测的基础代码是之前展示的全局状态代码。客户端代码保持不变,因为它本身具备获取用户名和密码的功能。而 ServerCommunicator 需要更新以包含识别用户的功能。识别用户的机制可以是 HTTP 认证或 Cookie,在本示例中使用的是 HTTP 认证。为了支持不同形式的认证,定义了以下接口:
public interface UserIdentification {
public String getIdentifier();
public Boolean isIdentified();
}
public interface UserIdentificationResolver {
UserIdentification identifyUser(HttpServletRequest request);
超级会员免费看
订阅专栏 解锁全文
5648

被折叠的 条评论
为什么被折叠?



