问题标签 [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.
google-app-engine - 是否可以在 AppEngine 托管 VM 中运行 gRPC 或 HTTP/2 应用程序?
我正在尝试构建 gRPC 后端并尝试将其部署在 AppEngine 托管 VM 上。是否支持 HTTP/2?如果没有,我可以简单地将它暴露在一个单独的端口上并禁用运行状况检查,还是应该将它部署在计算引擎/容器引擎上。
ios - iOS 9 上的 NSURLConnection 不使用 HTTP/2 协议
我在 Jetty 9.3 服务器上配置了 HTTP/2,它具有有效的证书,并且 SSLLabs.com 为其提供了 A 级安全配置。
使用 Chrome 浏览https://example.com会加载正确的响应,它还报告使用了“h2”(HTTP/2") 协议。
但是,当尝试使用 iOS 9 访问相同的 URL 时NSURLConnection
,我可以在请求日志中看到它使用的是 HTTP 1.1。如果我在服务器上禁用 HTTP 1.1,请求将在 iOS 9 上失败(但在 Chrome 上仍然成功)。
NSURLConnection 代码 -
服务器的 ALPN 调试输出 -
在 WWDC 2015 中声明 iOS 9 中的 NSURLRequest 支持 HTTP/2,但客户端应用程序声称支持spdy/3.1, spdy/3, http/1.1
, 不支持http/2
. 没有NSAppTransportSecurity
设置例外。
我尝试在运行应用程序的同一个 iPhone 模拟器上使用 Safari 连接到服务器,这次它工作并使用了 HTTP/2,这是 ALPN 调试输出 -
任何想法为什么它不在应用程序内使用 HTTP/2?
curl - 如何从代码中禁用服务器密钥交换?
我在 Ubuntu 15.04 上从nghttp2运行 HTTP2 服务器示例 (libevent-server.c) 。我想使用 Wireshark 嗅探客户端-服务器之间的 HTTP2 数据包。
我没有使用任何网络浏览器作为客户端,所以这里解释的如何在 Wireshark 中读取 HTTP2 消息的提示不适用于我的项目。我使用 libcurl。
由于 HTTP2 数据包是 TLS 内部的应用层,Wireshark 必须知道如何解密它;因此,我按照这里的指南为 Wireshark 提供了密钥。但是该指南警告说,“如果服务器发送 ServerKeyExchange 消息,您将无法解密数据。” 不幸的是,我的 Wireshark 显示服务器密钥交换是由服务器发送的。
以下是 libevent-server.c 代码片段:
OPENSSL_config(NULL)
更改为后我重新编译了代码,OPENSSL_no_config()
但仍然发送了服务器密钥交换。
如何禁用服务器密钥交换?
c# - .NET 4.6 HttpResponse.PushPromise 方法来管理 http/2 PUSH_PROMISE 标头
我对PUSH PROMISE http/2标头处理有点困惑.NET4.6
。
当我查看 HttpResponse.PushPromise
时,有两个重载:
一种接受资源路径的方法 public void PushPromise(string path)
-假设然后读取资源并将二进制文件发送给客户端。
第二个 public void PushPromise(string path, string method, NameValueCollection headers)
接受sting method
并且NameValueCollection headers
我无法理解。
为什么我要传递方法(假设像 GET、POST 等这样的 HttpMethod)和标题内的PUSH PROMISE
标题集合?
visual-studio - 如何让 VS2015 使用 HTTP/2?
http/2
我尝试在 Web 项目文件 ( ) 中寻找启用选项.csproj
,也在HttpRequest
没有运气的对象上。这是一个设置web.config
吗?
如何在 Visual Studio 中启用/禁用 HTTP/2?
ios - 对 iOS 8 的 HTTP/2 支持
我尝试了 Xcode 7 Beta + NSURLSession,它已经支持 HTTP/2,而且效果非常好。
现在我想知道,当我发布使用 iOS 9 SDK 构建但支持 iOS 8 的应用程序时 - iOS 8 用户是否能够使用 HTTP2 ?或者它只适用于 iOS 9?
wildfly - Wildfly9 中的 HTTP2/SPDY 配置
我正在尝试在 wildlfy 9 中配置 HTTP2/SPDY。如何使用 wildfly 9 配置/测试相同的内容。
我已经使用 JSF 2.0 开发了登录页面。使用这个我想检查这个功能。
web - HTTP/2 就在这里。我们应该做些什么来调整我们的网站和 web 应用程序的完整列表?
HTTP/2 就在这里。浏览器已经采用了它,主要的网络服务器应该在 2015 年都支持它。
从前端和后端的角度来看,我们应该做什么(或停止做什么)来调整我们的网站和 web 应用程序的完整列表是什么?
android - HTTP/2 就在这里。原生 Android 应用程序如何利用它?
浏览器已经采用了 HTTP/2,主要的 Web 服务器应该在 2015 年都支持它。如果客户端浏览器需要适应 HTTP/2 的优势,客户端原生移动应用程序也应该如此。
原生 Android 应用程序如何利用 HTTP/2 更好地与其服务器通信,从前端的角度来看,我们应该做什么(或停止做)来适应我们的原生应用程序?
java - Embedded Jetty HTTP/2 不适用于 Firefox/Chrome,但在 Safari 上似乎没问题
我正在嵌入式 Jetty (9.3.0.v20150612) 中实现一个 servlet,我想使用 HTTP/2。
我为协议协商启用 ALPN 以选择 HTTP1.1 或 HTTP2。当我从 Safari 8(仅支持 HTTP1.1)或 Safari 9(同时支持 HTTP1.1 和 HTTP2)向我的 servlet 发送 HTTPs 请求时,我从我的 servlet 中得到答案。当我从 Firefox 39 执行相同的请求时,它不起作用,我只得到 NS_ERROR_ABORT。我对 Chrome 也有同样的问题。
我有两个问题:
- 为什么我没有从 Chrome 和 Firefox 得到答案
- 我如何知道 Safari 9 是否使用了 HTTP/2 而不是 HTTP1.1?(我的 IOS9 应用程序也可以正常连接)
下面是执行 Jetty 初始化的代码
当我启动服务器时,我还提供了 Java 选项 -Xbootclasspath/p:$installDirectory/lib/alpn-boot-8.1.3.v20150130.jar
有什么错误或遗漏吗?谢谢你的帮助,
问候,