相关疑难解决方法(0)

HTTP/2是否使websockets过时了?

我正在学习HTTP/2协议.它是一个带有小消息帧的二进制协议.它允许通过单个TCP连接进行流复用.从概念上讲,它似乎与WebSockets非常相似.

是否有计划废弃websockets并用某种无头HTTP/2请求和服务器启动的推送消息替换它们?或者WebSockets是否会补充HTTP/2?

websocket http2

229
推荐指数
8
解决办法
6万
查看次数

多路复用在HTTP/2中意味着什么

有人可以解释与HTTP/2相关的多路复用及其工作原理吗?

http2

70
推荐指数
5
解决办法
2万
查看次数

WebSocket框架中的掩码是什么?

我正在研究websocket实现,并且不知道框架中的掩模是什么意思.

有人可以解释一下它的作用以及推荐的原因吗?

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-------+-+-------------+-------------------------------+
 |F|R|R|R| opcode|M| Payload len |    Extended payload length    |
 |I|S|S|S|  (4)  |A|     (7)     |             (16/64)           |
 |N|V|V|V|       |S|             |   (if payload len==126/127)   |
 | |1|2|3|       |K|             |                               |
 +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - …
Run Code Online (Sandbox Code Playgroud)

tcp stream frame packet websocket

51
推荐指数
3
解决办法
2万
查看次数

grpc和websocket之间有什么区别?哪一个更适合双向流连接?

我想以双向流方式开发客户端 - 服务器应用程序.

什么是更合适的技术 - grpc或websocket?

rest rpc websocket http2 grpc

44
推荐指数
2
解决办法
2万
查看次数

使用ReadableStream作为请求主体获取

我试图用一个ReadableStream.在这个例子中,ReadableStream应该无限期地重复"Some data ...".

fetch('/', {
  method: 'POST', 
  body: new ReadableStream({
    pull: function(controller) {
      console.log('pull called!');
      controller.enqueue('Some data...');
    }
  })
});
Run Code Online (Sandbox Code Playgroud)

这不起作用.而pull被执行一次,没有数据被请求体中的发送.

POST / HTTP/1.1
Host: example.com
Connection: keep-alive
Content-Length: 0
Origin: https://example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
Accept: */*
Referer: https://example.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Run Code Online (Sandbox Code Playgroud)

如何使用fetch可用的ReadableStream(或任何我可以编写动态数据的流)?

或者,如果这还不可能,请您说明一下吗?谢谢.

注意:这是一个更具体的衍生问题: 通过HTTP将数据从浏览器传输到服务器的方法

stream fetch fetch-api whatwg-streams-api

15
推荐指数
1
解决办法
3330
查看次数

如何在浏览器中实现HTTP/2流连接?

现在,HTTP/2的性能正在上升.

最新版本的Node.js非常支持HTTP/2.

https://nodejs.org/api/http2.html

但我不知道如何在浏览器环境中实现HTTP/2客户端.

https://nodejs.org/api/http2.html#http2_client_side_example

以上链接显示了如何在Node.js客户端中使用它.

如何在浏览器中实现相同的客户端?

javascript node.js http2

7
推荐指数
1
解决办法
3076
查看次数