热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ServiceWorker提供的请求从HTTP/2降级为HTTP/1.1

如何解决《ServiceWorker提供的请求从HTTP/2降级为HTTP/1.1》经验,为你挑选了1个好方法。

我发现服务工作者存在一个奇特的问题,即使HTTP服务器通过HTTP / 2进行服务,它也显然将通过工作者提供的网络请求降级为HTTP / 1.1。我在ServiceWorkers在H2上服务的所有站点上都发现了这一点。

我在我的网站上找到了它,我认为这是GatsbyJS的问题。显然已经存在一个问题,表明Chromium中存在错误。

这是预期的行为吗?这种情况在哪里?

这是我网站的链接。



1> Barry Pollar..:

这是我不喜欢Service Workers的原因之一- 搞砸了Network标签。Chrome(和Firefox)基本上将其显示为两个请求:

您会看到Web浏览器从Service Worker请求资产,然后Service Worker从Server获取资产。

第一个请求未正确显示。它显示为HTTP / 1.1,并且,当您单击请求时,您不会看到HTTP请求标头。仅第二个请求显示为完整的HTTP请求(HTTP / 2以及完整的请求和响应标头)。如果您查看服务器日志,或者删除服务工作者并查看“网络”选项卡中的“磁盘缓存”负载,它将显示为HTTP / 2。

这有关系吗?可以说不是。Service Worker是浏览器的一部分,虽然我不知道它在低级如何工作的确切细节(并且找不到该位置),但浏览器可能实际上并不是在浏览器和ServiceWorker。实际上,如果它是正确的,那么它就没有正确执行,因为HTTP请求是针对服务器域的,因此已被定向到错误的位置(要成为真实的HTTP,它可能应该指向localhost和服务工作者所使用的端口号下运行)!那么它应该显示除HTTP / 1.1之外的其他内容吗?还是显示最终使用的网络协议(在这种情况下为h2)?也许。

而且,当您处理本地服务器/服务时,HTTP / 1.1和HTTP / 2之间的差异可以忽略不计。HTTP / 2通过高延迟,低带宽连接(客户端到服务器)而不是本地请求进入自身。正如我所说的,ServiceWorker与服务器的连接是通过HTTP / 2请求的。

在许多方面与使用HTTP缓存(磁盘缓存或内存缓存)时相同,浏览器从不显示原始HTTP请求标头-它仅显示:“显示了临时标头”。同样,显示请求的标头(针对该请求的标头或用于已缓存的原始请求的标头)可能会更有用。


推荐阅读
  • 如何解决《哪些Web服务器支持HTTP/2》经验,为你挑选了2个好方法。 ... [详细]
  • 如何解决《HTTP/2是否使websockets过时了?》经验,为你挑选了6个好方法。 ... [详细]
  • 如何解决《HTTP1.1和HTTP2.0有什么区别?》经验,为你挑选了2个好方法。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • HTTP2isreleasedandsupportedbyallmajorbrowsers.Thereareimplementationsshippinginmajor ... [详细]
author-avatar
jerry613
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有