java - HTTP 状态代码 410 和其他 Angular 5 代码之间的行为差​​异

标签 java angular http http-status-code-410

后端:Java

前端:Angular 5

考虑一下:

前端向后端发出 HTTP 请求。

后端返回一个 HTTP 状态代码作为对前端请求的响应。

对于错误处理测试,我手动更改从后端返回的 HTTP 代码。

场景1:

将要返回的代码设置为 FORBIDDEN (407) 时,前端正确显示 407 错误。现在,将代码设置回“确定”(200) 时,前端也正确反射(reflect)了这一点。

场景 2:

将要返回的代码设置为 GONE (410) 时,前端正确显示 410 错误。但是,将代码设置回“确定”(200) 时,前端没有正确反射(reflect)更改,而是继续显示错误 410。

事实上,即使停止服务器后,前端也没有显示 net::ERR_CONNECTION_REFUSED 错误,而是继续显示 410。

有什么解释吗?

最佳答案

使用HTTP响应状态410时要小心,因为它会被缓存在浏览器中,以指示目标资源不再可以从原始服务器获取并且将不再可用。(这是由服务器端决定的)。请参阅details

由于服务器端在响应410时确定过期时间,因此浏览器只会缓存它,下次尝试请求相同的资源时,浏览器将不会触发请求直到过期。这有助于防止无用的请求。

关于java - HTTP 状态代码 410 和其他 Angular 5 代码之间的行为差​​异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50060084/

相关文章:

angular - 在选择模型 Angular 中搜索后未选择先前的数据

javascript - 在没有节点服务器的情况下使用 angular-cli 在 Chrome 上运行本地构建的 angular 2 应用程序

java - Liquibase 在执行变更集之前检查表名称长度

java - 如何将 JSONObject 解析为整数列表?

java - 如何在 Spring Boot 中选择理想的分页方式?

api - cURL - 在给定范围 'start' - 'stop' 中发现无效字符

http - Delphi - 使用 Synapse 下载有进度的文件

http - angularjs + mongolab $http.put 不更新模型

java - 构造函数抛出错误时如何引用已经初始化的成员字段

java - 使用反射的静态方法