相关疑难解决方法(0)

WebSockets协议与HTTP

关于websocket和HTTP有很多博客和讨论,许多开发人员和网站都强烈支持websockets,但我仍然无法理解为什么.

例如(websocket爱好者的参数):

HTML5 Web套接字代表了Web通信的下一个发展 - 一种全双工双向通信通道,通过Web上的单个插槽运行.(http://www.websocket.org/quantum.html)

HTTP支持流媒体:请求正文流(您在上传大文件时使用它)和响应正文流.

在与WebSocket连接期间,客户端和服务器每帧交换2个字节的数据,而连续轮询时则为8千字节的http头.

为什么这2个字节不包括tcp和tcp协议开销?

GET /about.html HTTP/1.1
Host: example.org
Run Code Online (Sandbox Code Playgroud)

这是~48字​​节的http标头.

http chunked编码 - http://ru.wikipedia.org/wiki/Chunked_transfer_encoding:

23
This is the data in the first chunk
1A
and this is the second one
3
con
8
sequence
0
Run Code Online (Sandbox Code Playgroud)
  • 因此,每个块的开销并不大.

这两个协议都可以在TCP上运行,因此所有与长期连接的TCP问题仍然存在.

题:

  1. 为什么websockets协议更好?
  2. 为什么要实现而不是更新http协议?

ajax comet http websocket

297
推荐指数
6
解决办法
12万
查看次数

jQuery逐步读取AJAX流?

我已经阅读了这个问题,但它并没有完全回答我的问题.不幸的是,自从我上次查看AJAX以来,看起来XHR对象中的内容发生了变化,因此responseText在完成填充之前不再可以直接访问.

我必须编写一个使用AJAX(最好是jQuery,但我愿意接受建议)的页面来从我无法控制的服务器通过HTTP检索CSV数据.响应数据可能非常大; 一兆字节的文本并不少见.

服务器是流友好的.是否有任何方法可以直接从JavaScript返回数据流?

我可以选择编写一些生活在中间的PHP代码并使用某种"Comet"技术(长轮询,EventSource等),但我希望尽可能避免这种情况.

如果它是相关的,假设这个问题用户有最新版本的Firefox/Chrome/Opera和旧的浏览器兼容性不是问题.

ajax jquery javascript-events long-polling http-streaming

70
推荐指数
4
解决办法
7万
查看次数