问题标签 [http2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

apache - 在 Apache 防火墙后面运行 SPDY 的 Jetty 服务器

我在 /mine 有一个应用程序在支持 SPDY 的 Jetty 服务器上运行。它位于用作代理的 Apache 防火墙后面。

/mine 中的应用程序通过 Apache 上的以下配置规则进行路由:

结果,当我点击 apache/mine/ 时,我的浏览器没有与我的应用程序协商 SPDY。

将 mod_spdy 添加到代理将是正确的方法,但我目前无法使用我们正在运行的 Apache 执行此操作。

有没有办法让这个工作?

0 投票
2 回答
1719 浏览

node.js - Http2 不适用于 express

我有server.js文件在哪里有一些代码

之后我在shell中运行

服务器正在等待,但我无法打开它。我试过http://localhost:8080https://localhost:8080(我知道这是对的。)。但是什么都没有发生,浏览器中没有错误没有响应,我做错了什么?还有不是我生成.key.crt文件,我只是复制了它,这会是一个问题吗?

0 投票
1 回答
319 浏览

http - 如何使用 HTTP/2 连接而不是会话 cookie?

是否可以使用 HTTP/2 连接(TCP 会话)进行会话跟踪,而不是会话 cookie(这将在禁用 cookie 时有所帮助)?

HTTP/2 发布于 2015-05-14 ( RFC 7540 )

从 2015 年 1 月 13 日( v35)起,FF 中默认启用 HTTP/2 。

HTTP/2-server实现列表( http2-katana等)

0 投票
3 回答
2673 浏览

http - 服务器发起的请求

我知道 HTTP 是一个请求-响应协议。简而言之,我的问题是客户端向服务器发出请求以启动一个长时间运行的进程,我想通过包含进度信息的简单 JSON 消息通知客户端进度。

在 HTTP/1.1 中,我知道我可以使用 WebSocket 或服务器发送事件 (SSE) 或长轮询。

现在我知道 HTTP/2 还不支持 WebSocket。

我的问题是,通过 HTTP/2 处理此类事情的最佳方式是什么?

在 HTTP/2 中处理服务器发起的请求有什么我不知道的新事物吗?

我正在使用 Go 语言,如果这很重要的话。

0 投票
3 回答
32131 浏览

tomcat - Tomcat 是否支持 HTTP/2.0?

有谁知道支持 HTTP/2.0 的最低版本的 Tomcat 是什么?我一直在他们的网站上到处寻找,但找不到任何有关此的详细信息。

0 投票
4 回答
7376 浏览

bundling-and-minification - 为什么捆绑优化不再是 HTTP/2 中的问题

我在捆绑部分 systemjs 文档中读到HTTP/2 不再需要捆绑优化

在 HTTP/2 上,这种方法可能更可取,因为它允许将文件单独缓存在浏览器中,这意味着捆绑优化不再是一个问题。

我的问题:

  1. 这是否意味着我们在使用 HTTP/2 时不需要考虑捆绑脚本或其他资源?
  2. HTTP/2 中有什么使此功能启用?
0 投票
1 回答
7253 浏览

http - Purpose of Pseudo/Colon Header Fields

As the title suggests, I'm looking for some information on the purpose of pseudo/colon header fields, i.e. I want to know why we have a second type of header field...

Also - I know pseudo/colon header fields are used in http2 in place of the message and status lines (^^^the reason for which I don't know^^^); but are pseudo/colon header fields used in http1 to relay different information (from status and request)?

0 投票
1 回答
259 浏览

http2 - Chrome Canary 不提供 HTTP/2

我正在尝试在 C# 中实现一个小型 HTTP/2 服务器以了解协议。我正在运行 Chrome 的最新金丝雀版本(v 45.0.2436.5),但是我似乎无法让客户端协商升级到 HTTP/2 连接。

RFC 声明如下:

在不知道下一跳是否支持 HTTP/2 的情况下请求“http”URI 的客户端使用 HTTP 升级机制([RFC7230] 的第 6.7 节)。客户端通过发出包含带有“h2c”令牌的 Upgrade 标头字段的 HTTP/1.1 请求来执行此操作。

这让我相信第一个请求应该包含一个Upgrade标头,但事实并非如此。这是我收到的请求:

谁能向我解释为什么会这样?

提前感谢您的回答!

0 投票
2 回答
514 浏览

http2 - 是否允许 HTTP/2 服务器发送 PRIORITY 帧?

我希望服务器推送一堆内容,但我希望它按顺序推送。显然,服务器可以按顺序发送内容,但如果服务器可以实际设置流依赖关系(使其明确,允许客户端在不同意时更改优先级等),那就太好了。这是允许的吗?具体来说,我想立即发送一个 PUSH_PROMISE 后跟一个 PRIORITY 帧,以将承诺的流设置为先前流的依赖项。

0 投票
3 回答
23177 浏览

curl - 带有 CURL 的 HTTP2 给出“不支持的协议”

已经按照此处Unsupported Protocol的步骤操作,使用 curl--http2选项时我仍然有。同样,将 设置为CURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_2_0导致程序使用 HTTP/1.1 而不是 HTTP/2 进行通信。

平台:VMware Player 7 上的 Ubuntu 15.04。

我已经安装了 nghttp2-1.0.4 --prefix=/usr/local,因此 libnghttp2.* 位于/usr/local/lib.

这是配置 curl-7.43.0 的代码:

结果显示启用了 HTTP2:

makeand之后sudo make install,以下返回Unsupported Protocol

curl 版本不显示支持 nghttp2:

然后我按照这里的建议,我需要有 OpenSSL 1.0.2 或更高版本。在 /opt/openssl 中安装后,我重新配置:

make和之后sudo make install,所有问题都保持不变。奇怪的是,curl --version仍然返回与上面相同的信息,OpenSSL/1.0.1f 尚未升级。

--http2非常感谢任何让我成功使用该选项的帮助。