Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTTP2:是否可以在流上发送后续或附加的头块?_Javascript_Node.js_Http2 - Fatal编程技术网

Javascript HTTP2:是否可以在流上发送后续或附加的头块?

Javascript HTTP2:是否可以在流上发送后续或附加的头块?,javascript,node.js,http2,Javascript,Node.js,Http2,节点提供以下方法: http2stream.additionalHeaders(headers) 它向连接的HTTP/2对等方发送额外的信息头帧。 但是,节点代码库包含以下注释: // Sends a block of informational headers. In theory, the HTTP/2 spec // allows sending a HEADER block at any time during a streams lifecycle, // but the HTTP

节点提供以下方法:

http2stream.additionalHeaders(headers)
向连接的HTTP/2对等方发送额外的信息头帧。

但是,节点代码库包含以下注释:

// Sends a block of informational headers. In theory, the HTTP/2 spec
// allows sending a HEADER block at any time during a streams lifecycle,
// but the HTTP request/response semantics defined in HTTP/2 places limits
// such that HEADERS may only be sent *before* or *after* DATA frames.
// If the block of headers being sent includes a status code, it MUST be
// a 1xx informational code and it MUST be sent before the request/response
// headers are sent, or an error will be thrown.
是否可以在流上发送后续或附加的头块

e、 g.伪代码:

stream.respond(HEADER)
stream.write(DATA)
stream.additionalHeaders(HEADER)
stream.write(DATA)
stream.end(DATA)
以及:

  • 如果可能,请提供一些演示代码;或

  • 如果不是,
    additionalHeaders
    函数的作用点是什么?当
    响应
    事件返回标题时,
    headers
    事件的作用点是什么


根据评论,以下内容无效HTTP/2:

stream.respond(HEADER)
stream.write(DATA)
stream.additionalHeaders(HEADER)
stream.write(DATA)
stream.end(DATA)
但以下是:

stream.respond(HEADER)
stream.write(DATA)
stream.additionalHeaders(HEADER)

这允许您发送一个,通常用于对动态生成的内容进行校验和或其他完整性检查,这些内容在发送第一个标题请求之前是未知的(最好提前发送标题,而不是在发送之后)。

谢谢,这为我澄清了一些问题。我编辑了我的问题,以便让下一个人更清楚地了解,并尝试编辑您的问题以对齐,但我无法。我所做的只是将
server
更改为
stream
,这更准确。现在也编辑了我的答案。