use*_*465 5 rest error-handling http
题
经过精心设计的应用程序应如何处理301“永久移动”,并在HTTP POST上重定向到静态API?
语境
我们正在将应用程序迁移到新的数据中心,在此过程中,我们会将它们(和其他)从“纯文本http”切换为“ ssl加密的https”。[物理位置数据中心固然无关紧要,但是新的数据中心具有更严格的安全规则,因此必须使用https]
我们的前端(haproxy / nginx)将发送301“永久移动”
我知道“平安API的应该是永久性的”,但是,merde到达(这还是发生在法国) -帝国崩溃,柏林墙落,Oracle收购的Sun等。
问题
他们的应用程序对我们宁静的api进行HTTP post调用。当前端返回“ http status 301”时,他们的应用程序不会“重新发布”到新的url,并且更新失败。
问题
为了在“纯 REST 式”的意义上满足您的“精心设计”的要求,客户端应该将请求重新发送到新的 URI。响应代码 301 表示资源已移动,无法用于完成请求,因此实际上没有回退位置。
如果客户端尝试重新发布,但丢失了数据,那就是客户端错误。客户端的“正确”行为因您的要求而异:它可以将重定向视为可恢复的错误情况,并透明地重新发布;它可以在指示用户更新端点时重新发布;否则它可能会失败并显示适当的错误消息。