HTTP在keep-alive期间也能保持连接. HTTP keep-alive connection timeouts Firefox: 约115秒(定义在about:config中的network.http.keep-alive.timeout) Chrome: 约320秒 Opera: 约120秒 MSIE: 约60秒(可以在注册表中自定义) Nginx: 默认值75秒(keepalive_timeout 75s) 所以可以每隔30秒(保证在keep-alive周期里)用AJAX轮询一次服务器,开销会小得多.而且基于AJAX,兼容性也比WebSocket要好,服务器端逻辑也更简单.所以,基于AJAX和keep-alive,用来做消息提醒功能还是可行的. 不过就算在keep-alive期间,每次请求客户端和服务器仍需要发送HTTP header,而WebSocket是不需要的.
HTTP在keep-alive期间也能保持连接.
所以可以每隔30秒(保证在keep-alive周期里)用AJAX轮询一次服务器,开销会小得多.
而且基于AJAX,兼容性也比WebSocket要好,服务器端逻辑也更简单.
所以,基于AJAX和keep-alive,用来做消息提醒功能还是可行的.
不过就算在keep-alive期间,每次请求客户端和服务器仍需要发送HTTP header,而WebSocket是不需要的.