【问题标题】:Appcache and custom error pagesAppcache 和自定义错误页面
【发布时间】:2016-12-01 23:43:00
【问题描述】:

我一直在开发具有自定义错误页面的 Spring MVC 应用程序,这些页面返回一般错误消息和堆栈跟踪作为 HTML 注释。我目前正在使用 HTML5 的 Appcache 开发此应用程序的离线功能。我的清单是这样的:

CACHE MANIFEST
CACHE:
... my explicit entries (not relevant) ...

FALLBACK:
... some fallback entries (not relevant) ...
<!-- This next line is relevant --!>
/ pageNotFoundOffline.html

SETTINGS:
prefer-online

它应该在用户无法连接到服务器时提供先前缓存的 404 页面,但问题是它在发生错误时也提供此 404 页面,从而使已经实现的自定义错误页面完全无用应用程序。

我为什么要这样做?我希望每当用户尝试访问我的应用程序上的任何页面并且请求以 404 失败(因为没有可用的互联网连接或因为服务器已关闭)时,该用户被告知请求失败并且他或她正在被重定向到我们的离线功能,我还想在用户成功访问我们的服务器但发生内部错误(通过自定义错误页面)时通知用户。

这个问题有解决方法吗?,我想要完成的是缓存的 404 页面仅在出现 404 异常时提供,服务器返回的自定义错误页面在出现内部异常时显示错误。

【问题讨论】:

    标签: html spring html5-appcache


    【解决方案1】:

    恐怕 appcache 不可能 - 回退拦截所有服务器错误。 specification for appcache 说:“如果这导致重定向到具有另一个来源的资源(表示强制门户),或者 4xx 或 5xx 状态代码或等效的,或者如果存在网络错误(但如果用户取消下载),然后从缓存中获取与回退命名空间对应的回退条目的资源 f. 中止这些步骤。”

    如果您可以使用更现代的做事方式Service Workers,我建议您使用它,因为这样您就可以随心所欲。

    【讨论】:

      猜你喜欢
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 2015-11-28
      • 2010-09-14
      • 2011-02-28
      • 1970-01-01
      相关资源
      最近更新 更多