标签: http2

iOS 8的HTTP/2支持

我尝试了Xcode 7 Beta + NSURLSession,它已经支持HTTP/2,它的工作效果令人惊叹.

现在我想知道,当我发布使用iOS 9 SDK构建的应用程序但支持iOS 8时,iOS 8用户能否使用HTTP2?或者它只适用于iOS 9?

ios nsurlsession http2

3
推荐指数
1
解决办法
9152
查看次数

如何在Go中通过http://创建仅HTTP2请求?

我正在使用Go 1.6并希望仅发出一个HTTP2请求http://.

目前尝试执行此操作会导致:

http:// localhost:2076/completed/764c1b6bc55548707507a2dd25570483a7216bf4:http2:不支持的方案

为了强制http2,我相信我需要http.Client.Transport.TLSConfig.NextProtos设置[]string{"h2"}.

还需要什么?

go http2

3
推荐指数
1
解决办法
1370
查看次数

HTTP1.1到HTTP / 2:标头呢?

在HTTP 1.1中,状态行为

scheme/version code reason
HTTP/1.1 200 OK
Run Code Online (Sandbox Code Playgroud)

我在HPACK规范中看到了:scheme和:status标头。但是,我没有看到任何版本或原因?没有一个吗?

在HTTP 1.1中的请求中,请求行是

method uri scheme/version
POST http://myhost.com HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

我看到了:method和我看到的:path,我认为这只是一个相对路径,与完整的绝对路径不同(并且由于Chrome和Firefox将HTTPS推送为HTTP / 2,所以这可能是有道理的)。我没有看到版本头。

有版本标头吗?还是在协议决定之前就已经知道了这一点,因此并不需要它?

那原因码呢?是否假设这些参数非常恒定以至于消失(我在这里猜测)?

http http2

3
推荐指数
1
解决办法
661
查看次数

反向代理后面的HTTP/2

到目前为止,所有教程都告诉我,我需要在我的服务器上启用SSL以获得HTTP/2支持.

在给定的场景中,我们在后端Tomcat/Jetty服务器前面有nginx,尽管性能方面值得在后端启用HTTP/2,但在那里使用HTTPS的要求似乎也是一种过度杀伤力.

安全性不需要HTTPS(仅暴露nginx),从操作角度来看有点麻烦 - 我们必须将证书添加到运行后端服务器的每个Docker容器中.

是不是有办法提供HTTP/2支持(或至少类似的性能),并且设置较少涉及?

reverse-proxy nginx http2

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

为什么http / 2流ID必须升序?

在RFC 7540第5.1.1节中。(https://tools.ietf.org/html/rfc7540#section-5.1.1),它指定如下:

新建立的流的标识符必须在数值上大于发起端点已打开或保留的所有流。

我在Google上搜索了很多内容,但仍然没有人解释为什么流ID必须按升序排列。我对协议制定此规则没有任何好处。从我的角度来看,如果服务器仅将“流ID”视为ID并使用它来区分HTTP2请求,则乱序流ID也应能很好地工作。

那么,有谁能帮忙解释此规范的确切原因?

非常感谢!

rfc multiplexing http2

3
推荐指数
1
解决办法
493
查看次数

当mongo文档中有超过7个子文档时,远程服务器上的net :: ERR_CONNECTION_CLOSED

我正在开发一个角度为4.1.0的MEAN项目.

在我的localhost上,一切正常,没有错误.但是,当我部署到服务器时,检索具有8个以上问题 - 答案对的用户会导致在角度的http模块触发的xhr请求上出现net :: ERR_CONNECTION_CLOSED错误.

我托管的数字海洋小滴使用nginx反向代理并使用letsencrypt SSL证书.我试过了:

  • 重启服务器,nginx服务,node.js等.
  • 增加client_max_body_size20M在nginx的配置文件
  • large_client_header_buffers'size'增加到128knginx配置文件中

其他重要事实:

  • 永远不会到达node.js应用程序的GET请求qapairs?jwt=ey..
  • 没有提到请求 /var/log/nginx/error.log
  • 显示的失败请求/var/log/nginx/access.log如下:

    89.15.159.19 - - [08/May/2017:14:25:53 +0000] "-" 400 0 "-" "-"
    89.15.159.19 - - [08/May/2017:14:25:53 +0000] "-" 400 0 "-" "-"
    
    Run Code Online (Sandbox Code Playgroud)

请指出我可能的方向.


chrome dev工具网络选项卡截图

  1. 登录到只有7个问题答案对的帐户后 登录到只有7个问题答案对的帐户后

  2. 然后,在转到mlab.com并手动将另一个问题答案对添加到同一帐户然后刷新页面(注意现在的问题数量为8) 转到mlab.com并手动将另一个问题答案对添加到同一帐户然后刷新页面

  3. 最后,登录和退出同一帐户后(注意xhr请求qapairs?jwt=ey...返回失败状态) 登录和退出同一帐户后

在/ etc/nginx的/启用的站点 - /默认

# HTTP — redirect all traffic to HTTPS
server {
    listen 80;
    listen [::]:80 default_server …
Run Code Online (Sandbox Code Playgroud)

ssl nginx mongodb node.js http2

3
推荐指数
1
解决办法
1699
查看次数

nodejs http2上的ERR_INVALID_HTTP_RESPONSE

使用节点新的http2服务器时,我在尝试从浏览器调用它时遇到此错误:ERR_INVALID_HTTP_RESPONSE.

代码:

const http2 = require('http2');

// Create a plain-text HTTP/2 server
const server = http2.createServer();

server.on('stream', (stream, headers) => {
  console.log('headers: ', headers);
  stream.respond({
    'content-type': 'text/html',
    ':status': 200
  });
  stream.end('<h1>Hello World</h1>');
});

server.listen(80);
Run Code Online (Sandbox Code Playgroud)

node.js http2

3
推荐指数
1
解决办法
866
查看次数

如何在Windows x64上使用openSSL和nghttp2编译cURL?

这是有史以来的第一个问题,所以请允许我:)我过去三天一直在网上,试图找到一种在Windows机器上获得以下结果的方法。

我需要的'cURL -V'输出示例

我已经发现了很多用于macOS和Unix的东西,但是对于Windows却只有一点点。我正在运行xampp,最终我试图使它通过cURL / PHP发送http / 2请求。到目前为止,我所收集的是我需要使用某些库来编译cURL,例如openssl(至少1.0.2),启用了http / 2的libcurl和nghttp2。我觉得我已经很接近了,但是我只是缺少一些步骤。

到目前为止,我所做的是:

  • 为Visual Studio 2017安装了诸如mingw32,cmake和构建工具之类的东西
  • 下载nghttp2-1.27.0,并使用'cmake'和'cmake --build'获取5个文件:nghttp2.dll,.exp,.lik,.lib和.pdb
  • 下载curl-7.56.1.tar.gz(https://curl.haxx.se/download.html上的第一个)
  • 下载的libssh2-1.8.0
  • 下载的openssl-1.0.2l
  • 下载了zlib-1.2.11
  • https://curl.haxx.se/docs/install.html上按照Mingw32的说明进行操作(但它始终提示我“无法找到openSSL软件包”)
  • 我读到某个地方需要用'--with-nghttp2 --prefix- [此处的NGHTTP2文件夹位置]'标志来编译cURL,所以我尝试了一些我认为可行的方法,但是我认为它没有用: 'cmake --with-nghttp2 --prefix- [此处的NGHTTP2文件夹位置]。”,然后“ cmake install”。”,看起来好像做了些什么,但是在curl-7.56.1 / src /中内置的cURL.exe除了libcurl之外没有其他任何东西。

任何建议或指针将不胜感激!感谢大伙们 :)

windows xampp curl openssl http2

3
推荐指数
1
解决办法
1616
查看次数

为什么HTTP / 2完全通过tcp进行复用呢?

据我所知,TCP将消息分解为多个段。那么,为什么再次在HTTP2上进行多路复用?复用两次有什么好处?

multiplexing http2

3
推荐指数
1
解决办法
1082
查看次数

如何在特定的AJAX请求中强制使用HTTP/1.1

背景:我们的服务器支持HTTP/2和HTTP/1.1协议.

但是,在测试期间,似乎HTTP/1.1对于文件上传来说要快得多.此处也可以看到该问题的示例:使用HTTP/2时GCS上传速度慢

问题:是否可以强制浏览器仅对某些URL /路径发出HTTP/1.1 AJAX请求?我们在内部使用Axios(https://github.com/axios/axios).

javascript ajax http http2 axios

3
推荐指数
1
解决办法
456
查看次数

标签 统计

http2 ×10

http ×2

multiplexing ×2

nginx ×2

node.js ×2

ajax ×1

axios ×1

curl ×1

go ×1

ios ×1

javascript ×1

mongodb ×1

nsurlsession ×1

openssl ×1

reverse-proxy ×1

rfc ×1

ssl ×1

windows ×1

xampp ×1