我的 REST API 中有一个端点,它发送用户每封电子邮件收到的代码以验证电子邮件地址。
我应该更好地使用什么状态代码来返回此代码已过期?
是 401、410 还是 498?
我的 REST API 中有一个端点,它发送用户每封电子邮件收到的代码以验证电子邮件地址。
我应该更好地使用什么状态代码来返回此代码已过期?
是 401、410 还是 498?
HTTP 状态代码是通过网络域传输文档的元数据。它们是指示通用 HTTP 客户端如何解释响应(尤其是其他元数据字段)的令牌。
在考虑未分配的状态代码(如 498)时,您要记住,无法识别代码的通用组件会将响应视为具有同一类的 x00 响应代码(因此 498 - -> 400、298 -> 200 等等)。
也就是说,如果您的预期上下文包括理解 498 语义的客户端,那么这不是问题。
我的 REST API 中有一个端点,它发送用户每封电子邮件收到的代码以验证电子邮件地址。
我应该更好地使用什么状态代码来返回此代码已过期?
我认为您可以为 200 或 410 提供一个很好的案例。
在任何一种情况下,对客户端而言,重要的事情将是有效负载中的表示,这将是某种“非常抱歉”消息,并且可能是用于重新启动进程的超媒体控件。
410 响应的主要目的是通过通知接收者该资源故意不可用并且服务器所有者希望删除该资源的远程链接来协助 Web 维护任务。
所以这可能是一个合理的选择,因为您并不特别希望重用此 URI
如果 URL 显示类似https://website.com/confirm-email/1738-65b9-7a39-8d1c
我会使用 http status code的内容410
。