HTML5客户端:Websockets和XHR之间有什么区别?
Websockets 是一种持久连接,可以用来接收/发送数据而不需要顺序和不需要 http 头。
Xhr-polling 创建新请求并带有 http 头,等待带有 http 头的答案,同时保持顺序。
这样,XHR 数据流总是看起来像这样:
HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER 以及其他内容
在下载数据之前,必须通过 HTTP_HEADER 请求,因此它的名称是:xhr-polling。
Websockets 数据流可能看起来像这样:
FRAME_DATA_SEND FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_SEND FRAME_DATA_RECEIVE FRAME_DATA_RECEIVE
此外,它是随机数据的发送/接收,没有特殊的顺序,也没有任何http头数据。
这使得由于大多数已知反向代理缺乏对Websockets的支持,使用反向代理变得不可能;但一半的xhr传输可能与Apache反向代理一起工作。
另请参阅: HTML5客户端:支持的浏览器