当前位置: 首页 > 知识库问答 >
问题:

HTTP/2客户端能否选择通过服务器推送接收哪些资源?

姬正文
2023-03-14

我有一个静态网站。为了加快站点加载,我想使用HTTP/2服务器推送将CSS推送到客户端。然而,我也担心移动客户端的带宽使用情况。

如果我指定要推送到客户端的资源(例如使用http2_push)

我读了RFC 7540,第二节。8.2-HTTP/2服务器推送,但我只发现客户端可以发送RST_流请求来停止服务器推送。但是,有没有一种方法可以让客户选择推送哪些资源?


共有1个答案

羊光辉
2023-03-14

您可以设置一个cookie,服务器可以使用它来决定是否推送。我在这里有一个Apache实现:https://www.tunetheweb.com/performance/http2/http2-push/

这并不理想,因为cookie可以独立于缓存进行清除,但目前我们只能做到最好。

缓存摘要是作为这个问题的解决方案提出的,但由于缺乏兴趣——主要是由于对隐私的担忧——这方面的工作已经停止。

HTTP/2 Push未能达到预期,并可能导致性能下降而不是改进。通过资源提示进行预加载更干净,风险更低。它也可以与103早期提示状态代码一起使用-尽管对它的支持也不是很好-例如,请参阅此Chrome问题。

 类似资料:
  • 客户端关于推送的方法只有两个,它们分别是: Subscribe 方法 Subscribe(name string, id string, settings *InvokeSettings, callback interface{}) (err error) Subscribe 方法的用处是订阅服务器端的推送服务。该方法有两种方式,一种是自动获取设置客户端 id,另一种是手动设置客户端 id。 参数

  • 问题内容: 我有一个C ++服务器和两个客户端(红宝石和Java)。一切都在64位linux机器(java 1.7.0_17)上运行。ruby客户端可以正常工作,但是java版本会出现问题。 在Java中,我尝试将字符串从客户端发送到服务器。实际上,服务器收到了整个字符串,但是服务器认为还有更多东西要接收。 红宝石客户端看起来像这样: 这里的一切工作正常。红宝石客户端发送一个字符串。服务器接收该字

  • 我有两个AWS EC2实例。服务器和客户端节点JS应用程序。 在本地,我的代码运行良好。但是在AWS,客户端会在一段时间后(例如30秒)关闭,没有任何警告/异常(由于某种原因,它无法找到并连接到服务器) 两个AWS实例都在运行:Windows Server 2016 Base。 两个AWS实例都有自己的服务器“AWS安全组”。只是为了确保我没有阻止两个安全组当前允许的任何东西:“所有流量到任何IP

  • 本文向大家介绍WEB应用从服务器主动推送Data到客户端有哪些方 式?相关面试题,主要包含被问及WEB应用从服务器主动推送Data到客户端有哪些方 式?时的应答技巧和注意事项,需要的朋友参考一下 一般的服务器Push技术包括: 基于AJAX的长轮询(long一polling)方式,服务器Hold—段时间后再返回信息; HTTP Streaming,通过iframe和〈script〉#签完成数据的传

  • 我有套接字服务器(java桌面应用程序)正在等待从java webapp(套接字客户端)连接。通信看起来还可以,我在客户端看到来自服务器的消息,但是当我发送消息时,我在服务器端没有收到任何消息。会有什么问题呢?当我检查服务器与telnet,一切正常。下面是我的代码: 服务器: 客户: 谢谢帮忙!

  • 我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s