[英]Difference in behaviour between HTTP Status code 410 and other codes w.r.t Angular 5
后端:Java
前端:Angular 5
考虑一下:
前端向后端发出HTTP请求。
后端返回HTTP状态代码,作为对前端请求的响应。
对于错误处理测试,我手动更改了从后端返回的HTTP代码。
方案1:
将要返回的代码设置为FORBIDDEN(407)时,前端正确显示407错误。 现在,在将代码重新设置为OK(200)时,前端也正确地反映了这一点。
方案2:
在将要返回的代码设置为GONE(410)时,前端正确显示了410错误。 但是,在将代码重新设置为“确定”(200)时,前端未正确反映更改,但继续显示错误410。
实际上,即使在停止服务器后,前端也没有显示net::ERR_CONNECTION_REFUSED
错误,但是继续显示410。
有什么解释吗?
使用HTTP response status 410
时要小心,因为它将被缓存在浏览器中以指示目标资源不再可从原始服务器获得, 并且将不再可用 (这由服务器端决定)。 查看详细信息 。
因为由服务器端确定使用410
响应时的过期时间,所以浏览器将简单地对其进行缓存,并且下次您尝试请求相同的资源时,浏览器不会在该请求过期之前触发请求。 这有助于防止无用的请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.