问题标签 [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.
apache - 在 Apache 防火墙后面运行 SPDY 的 Jetty 服务器
我在 /mine 有一个应用程序在支持 SPDY 的 Jetty 服务器上运行。它位于用作代理的 Apache 防火墙后面。
/mine 中的应用程序通过 Apache 上的以下配置规则进行路由:
结果,当我点击 apache/mine/ 时,我的浏览器没有与我的应用程序协商 SPDY。
将 mod_spdy 添加到代理将是正确的方法,但我目前无法使用我们正在运行的 Apache 执行此操作。
有没有办法让这个工作?
node.js - Http2 不适用于 express
我有server.js
文件在哪里有一些代码
之后我在shell中运行
服务器正在等待,但我无法打开它。我试过http://localhost:8080和https://localhost:8080(我知道这是对的。)。但是什么都没有发生,浏览器中没有错误没有响应,我做错了什么?还有不是我生成.key
的.crt
文件,我只是复制了它,这会是一个问题吗?
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等)
http - 服务器发起的请求
我知道 HTTP 是一个请求-响应协议。简而言之,我的问题是客户端向服务器发出请求以启动一个长时间运行的进程,我想通过包含进度信息的简单 JSON 消息通知客户端进度。
在 HTTP/1.1 中,我知道我可以使用 WebSocket 或服务器发送事件 (SSE) 或长轮询。
现在我知道 HTTP/2 还不支持 WebSocket。
我的问题是,通过 HTTP/2 处理此类事情的最佳方式是什么?
在 HTTP/2 中处理服务器发起的请求有什么我不知道的新事物吗?
我正在使用 Go 语言,如果这很重要的话。
tomcat - Tomcat 是否支持 HTTP/2.0?
有谁知道支持 HTTP/2.0 的最低版本的 Tomcat 是什么?我一直在他们的网站上到处寻找,但找不到任何有关此的详细信息。
bundling-and-minification - 为什么捆绑优化不再是 HTTP/2 中的问题
我在捆绑部分 systemjs 文档中读到HTTP/2 不再需要捆绑优化:
在 HTTP/2 上,这种方法可能更可取,因为它允许将文件单独缓存在浏览器中,这意味着捆绑优化不再是一个问题。
我的问题:
- 这是否意味着我们在使用 HTTP/2 时不需要考虑捆绑脚本或其他资源?
- HTTP/2 中有什么使此功能启用?
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)?
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
标头,但事实并非如此。这是我收到的请求:
谁能向我解释为什么会这样?
提前感谢您的回答!
http2 - 是否允许 HTTP/2 服务器发送 PRIORITY 帧?
我希望服务器推送一堆内容,但我希望它按顺序推送。显然,服务器可以按顺序发送内容,但如果服务器可以实际设置流依赖关系(使其明确,允许客户端在不同意时更改优先级等),那就太好了。这是允许的吗?具体来说,我想立即发送一个 PUSH_PROMISE 后跟一个 PRIORITY 帧,以将承诺的流设置为先前流的依赖项。
curl - 带有 CURL 的 HTTP2 给出“不支持的协议”
已经按照此处Unsupported Protocol
的步骤操作,使用 curl--http2
选项时我仍然有。同样,将 设置为CURLOPT_HTTP_VERSION
会CURL_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:
在make
and之后sudo make install
,以下返回Unsupported Protocol
:
curl 版本不显示支持 nghttp2:
然后我按照这里的建议,我需要有 OpenSSL 1.0.2 或更高版本。在 /opt/openssl 中安装后,我重新配置:
在make
和之后sudo make install
,所有问题都保持不变。奇怪的是,curl --version
仍然返回与上面相同的信息,OpenSSL/1.0.1f 尚未升级。
--http2
非常感谢任何让我成功使用该选项的帮助。