http2相关内容

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

背景:我们的服务器支持HTTP/2和HTTP/1.1协议. 但是,在测试过程中,似乎HTTP/1.1的文件上传速度要快得多.该问题的示例也可以在此处看到:使用时缓慢的GCS上传速度HTTP/2 问题:是否可以强制浏览器仅对某些网址/路径发出HTTP/1.1 AJAX请求?在内部,我们使用的是Axios( https://github.com/axios/axios ). > 解决方案 ..
发布时间:2020-08-21 20:08:53 前端开发

http2:PUSH_PROMISE客户端流状态

http2规范说: 接收方必须在以下流上对待PUSH_PROMISE的接收: 既不是“打开"也不是“半封闭(本地)"作为连接错误 (第5.4.1节)类型为PROTOCOL_ERROR.但是,具有 在相关流上发送的RST_STREAM必须处理PUSH_PROMISE 可能是在RST_STREAM框架之前创建的框架 接收并处理. 该规范还具有此生命周期图. > 我的理解是,为了使客户端 ..
发布时间:2020-08-05 22:03:46 其他开发

上传时如何使用多路复用http2功能

在上传多个文件时,使用多路复用http2功能应该可以显着提高性能. 并且Java有一个本地支持HTTP/2协议的httpclient,因此,鉴于我自己的理解,我尝试编写该代码. 这个任务似乎并不像我最初想象的那么容易,或者在另一方面,我似乎找不到能够在上载中使用多路传输的服务器(如果存在). 这是我编写的代码,有人想过吗? HttpClient httpClient = H ..
发布时间:2020-07-23 19:31:19 Java开发

如何在Java 11 HTTP客户端中保持连接活跃

我正在将Java 11 HttpClient与HTTP/2一起使用,并且需要保持几分钟的连接状态,但是构建器没有设置它的选项.有没有一种方法可以指定它并使客户端保持连接一段时间? 解决方案 如果您构建标准的HttpClient,例如默认情况下,使用HttpClient.newHttpClient();创建连接池.默认情况下,该池使连接保持活动状态1200秒(20分钟). 如果要更改保 ..
发布时间:2020-07-23 19:29:50 Java开发

Python 2.7中的TLS ALPN

我正在使用某些HTTP/2客户端,并且想添加SSL支持.根据RFC,使用ALPN协议进行协议协商. python 2.7中有ALPN的实现吗? (我知道有HTTP/2客户端实现,但是我想自己写) 谢谢! 解决方案 请使用该文档并只需搜索"alpn".有据可查,例如: SSLContext.set_alpn_protocols(protocols) 指定套接字在SSL ..
发布时间:2020-07-16 19:53:19 其他开发

浏览器不会通过“升级"完全升级到H2.标头已发送

在我的Web服务器上,我正在尝试使H2(http2)正常工作.通过"ondrej"存储库安装了Apache 2.4.20.我在Debian 8和Ubuntu 14.04服务器上进行了测试,但是仍然遇到相同的问题.我正在运行OpenSSL 1.0.2和SSL虚拟主机. 奇怪的是,发送了升级头(连接:升级和升级:h2).当我进行一些外部服务器测试时,得到的响应是h2在ALPN支持下运行正常.但是 ..
发布时间:2020-07-16 19:53:17 服务器开发

我可以在没有ALPN支持的情况下实现http/2服务器吗?

通过这种方式,客户端可以在没有ALPN的情况下连接服务器,并使用http/2默认值. 有可能吗? 解决方案 是可以的,但是条件很严格. 到目前为止,浏览器尚未实现HTTP/2的明文通信,因此,如果您使用浏览器,则问题的答案是否定的:如果要使浏览器成为浏览器,则必须部署具有ALPN支持的服务器.能够连接. 另一方面,其他客户端(例如Java客户端)也可以使用明文HTTP/2 ..
发布时间:2020-07-16 19:53:09 其他开发

HTTP2/SPDY推流验证:如何进行测试?

我正在使用节点模块 spdy .我一直关注 indutny的文档,并一直在进行将其示例实现到我的测试server.js. 问题有两个; 我没有在日志中发现任何错误,也没有在浏览器中看到alert.我也看不到开发人员控制台中的任何更改.如果我设置了虚假的推送URL,则不会得到任何响应/错误等.我相信从理论上讲,优先级应该从medium更改为High(?). 参见屏幕截图. 我还有另一种方 ..
发布时间:2020-07-08 19:24:14 其他开发

在res.end中使用HTTP2推送脚本标记

在阅读使用Speedy NPM的HTTP2文章后模块,我有一个问题. HTTP2推送的好处在于,浏览器在请求资源之前就已经缓存了资源. 在此示例中: spdy.createServer(options, function(req, res) { // push JavaScript asset (/main.js) to the client res.push('/mai ..
发布时间:2020-07-08 19:24:10 其他开发

HTTP/2是否提高了每个主机的连接限制?

浏览器对并行XHR的数量有一个主机限制(如今大约为6个). 此限制是否适用于多路复用的HTTP/2连接? 解决方案 浏览器在使用HTTP/1.1时对每个域施加6-8个连接限制,具体取决于浏览器的实现. 每个域最多允许6-8个并发请求. 使用HTTP/2,浏览器每个域仅打开1个连接. 但是,由于HTTP/2协议具有多路复用功能,每个域的并发请求数不限于6-8,而实际上是无限的. ..
发布时间:2020-07-05 23:57:13 其他开发

HTTP/2流与HTTP/1.1连接

如果我们忽略了HTTP/1.1中新连接创建的开销,那么在任何情况下连接的性能都比HTTP/2流更好吗? 我对页面加载时间进行了一些性能测试,并且发现对于响应较大的请求,HTTP/1.1(https)的性能优于HTTP/2.然后,当我开始提高并发级别时,HTTP/2开始表现更好.换句话说,HTTP/2开始提供更好性能的并发级别随响应消息的大小而增加. 对我来说,很清楚为什么HTTP/2随 ..
发布时间:2020-07-01 02:48:07 其他开发

Google Chrome浏览器不与http2进行多路复用

我正在构建一个Webapp,并通过http2对其进行服务.但是,当我在Google Chrome浏览器(版本59.0.3071.115(正式版本)(64位))的开发人员工具中分析网络时,很明显,多路复用不起作用,因为只有6个活动连接(例如使用http1.1)其余的连接排队. 这是为什么?还是我的期望不正确? 屏幕截图(您可以看到协议为http2): 更新#1: 后端在ngi ..
发布时间:2020-07-01 02:47:45 其他开发

Http2&档案下载

我们提供文件托管解决方案.我们的客户是最终用户,他们通过HTTP 1.1协议&下载文件.这些客户端基本上是软件系统或CDN,它们使用软件库下载我们的文件.没有人类用户访问我们的系统.我们还提供了使用HTTP/1.1范围标题等进行部分文件下载的选项.客户端系统还通过使用多个线程拆分成多个块来下载大文件. 我想检查一下,如果我们对服务器开放HTTP/2协议是否会有真正的好处?由于我们的客户端系统 ..
发布时间:2020-06-26 12:29:21 其他开发