【问题标题】:How to prevent back button from refreshing the previous page on HTTPS?如何防止返回按钮刷新HTTPS上的上一页?
【发布时间】:2015-11-12 14:33:47
【问题描述】:

我有一个应用程序,其中一个模块通过 SOAP 调用列出了来自各种第三方供应商的一些旅游套餐。加载大约需要 90 秒。

单击其中一个包后,会调用另一个 Web 服务来获取包的详细信息。

现在,一旦您从此处单击浏览器,它应该会显示列表而无需再次调用 Web 服务(从缓存中)。它发生在http的开发机器中。但是在生产服务器上,后退按钮会刷新列表页面,我不得不再次等待大约 90 秒,这非常痛苦。

是因为HTTPS吗?如何在不刷新上一页的情况下强制向后导航?

用PHP编写的应用程序,生产服务器是redhat,而开发是windows(如果有帮助的话)。

【问题讨论】:

  • 听起来客户端缓存在您的生产环境中不起作用。
  • 您应该将结果缓存在您的服务器上,这样您就不需要每次都拨打第 3 方电话

标签: php web-services browser-cache


【解决方案1】:

它与 HTTPS 无关。缓存仅由 Expires/Cache-Control HTTP 标头控制,无论连接是否加密,它们的工作方式都相同。很可能您的生产服务器执行的缓存标头与您的开发服务器不同。

话虽如此,您还应该为如此昂贵的操作使用服务器端缓存。或许可以通过 cron-job 等定期刷新数据,并将它们保存在服务器上以便快速检索。任何需要显示 90 秒工作的页面都需要重新考虑。

【讨论】:

  • Cron 作业方法正在进行中。本地副本将存储在服务器上。但是现在我如何确保服务器发送正确的标头?
  • 您是否已明确设置任何缓存标头?如果没有,请开始这样做。否则,您只是在等待缓存行为是什么。如果是,请找出他们可能会在哪里取消设置。
猜你喜欢
  • 2015-04-04
  • 2013-10-04
  • 1970-01-01
  • 2018-05-14
  • 2022-10-06
  • 1970-01-01
  • 2018-09-24
  • 2010-11-14
  • 1970-01-01
相关资源
最近更新 更多