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

带有XHR或Fetch API的HTTP/2服务器推送

万铭
2023-03-14

我想在使用浏览器XMLHttpRequest或Fetch API请求特定HTML片段时“推送”其他资源(主要是HTML片段,但也包括CSS和图像)。我知道如何在服务器端构造HTTP/2响应,也知道如何将服务器发送的资源推送到浏览器缓存中,以进行常规页面加载,但我的问题是关于通过JavaScript编程启动的HTTP/2服务器推送响应,例如,我能在Ajax请求上推送额外资源吗,当我在后续的XHR请求中显式地获取这些资源时(条件请求的缓存控制和其他头允许),是否指望从浏览器缓存中提供这些推送的资源?如果已缓存推送的资源响应,它们是否会被取消?

共有1个答案

吴驰
2023-03-14

当我在后续XHR请求中显式获取这些资源(Cache-Control和其他条件请求允许的标头)时,我是否可以在Ajax请求上推送其他资源,并指望从浏览器缓存中提供这些推送的资源?

是的。但是,您需要注意推送中的各种困难,特别是有证书和无证书的连接。

如果推送的资源响应已经被缓存,它们会被取消吗?

应该这样做,尽管非常依赖浏览器,也可能在取消请求返回时已经下载。

 类似资料:
  • 我正在开发一个基于云的后端HTTP服务,该服务将公开用于与一些on-prem系统的集成。客户机系统是由外部供应商定制的,它们是带有自己数据库的后端系统。这些系统部署在我们客户的公司中,我们无法访问它们,也无法控制它们。我们向供应商提供我们的API规范,他们实现客户机代码。 我的服务与客户交换的数据格式基于XML,并遵循一定的标准。供应商用不同的编程语言实现他们的客户机系统,随着时间的推移,新的供应

  • 我开始在我的公司和中科院合作。这对我来说是全新的,所以我不得不阅读大量的文档,以及如何了解CAS是如何工作的。 因此,我们必须在服务器上为具有两种不同应用程序的公司提供单一登录服务。其中一个使用SAML2。我的CAS服务器现在正在使用MySQL数据库,因此我将让数据库中这两个应用程序的用户提供身份验证服务。 我不清楚的是关于SAML。我读过的所有关于SAML2与CAS 4.0.0集成的教程都使用了

  • 我的Web Server是用Golang编码的,并且支持HTTPS。我希望利用Web Server中的HTTP/2 Server Push功能。以下链接解释了如何将HTTP Server转换为Support HTTP/2:-https://www.ianlewis.org/en/http2-and-go 但是,不清楚如何在Golang中实现Server Push通知。 -我应该如何添加Server

  • 我已经读了很多关于HTTP 2(仍在开发中)的东西,所以我也听说了服务器推送功能,但我想,这还不清楚。 此服务器推送功能是否意味着服务器将能够向客户端发送响应,而无需后者发出请求?就像普通的TCP连接一样?还是我没抓住重点?

  • 本文向大家介绍HTTP/2 协议用于 iOS 推送提醒服务 (APNS),包括了HTTP/2 协议用于 iOS 推送提醒服务 (APNS)的使用技巧和注意事项,需要的朋友参考一下 苹果最近更新了他们的推送提醒服务协议,APNS。这个新版本的协议基于HTTP/2和JSON,相比于旧的二进制协议,新的协议有了巨大改进。 新的APNS协议基于HTTP/2: 新的特性和功能: 基于JSON的请求和响应 对

  • 我正在使用PHP rest API将数据从JS客户机发布到PHP8服务器。我正在使用JS方法。当使用时,formdata被发送到PHP的全局$_post中,但是由于我需要更新数据,我不得不使用。不知何故,Google Chrome没有将格式数据发送到服务器,我也不知道为什么。有人知道原因吗?