我们尝试了存折程序,但它从来没有超出测试阶段,但有一些传递不断打电话回家(并且由于传递与现有数据不同而抛出错误)。我的计划是404任何传入的请求,但我不确定这是否是处理现有传递的最佳方式。任何其他想法或404是正确的解决方案吗?
答案 0 :(得分:0)
有几个选项:
可以更新通行证中的任何字段,包括Web服务URL。删除URL将阻止进一步的更新请求。这可能是最有效的,但是需要一些开发来返回更新的传递,并且需要保持直到所有传递被禁用。"
简单地返回错误代码可能更容易。这可以通过Web服务器配置来完成,防止应用程序处理请求(并且可能会停止应用程序中的错误)。这将允许您从应用程序中完全删除代码。
Passbook Web Service Reference 表示Passbook最终会在收到持续错误时放弃。
如果请求失败 - 例如,由于网络连接问题 - 在等待一段时间后,Passbook会再次尝试多次。每次再次尝试时,它会等待更长时间。如果请求继续失败,它最终会放弃。
该文档还指出,在调用获取最新版本的通行证(和其他人)的响应中,应使用标准的HTTP状态代码。
<强>响应强>
- 如果请求被授权,则返回带有传递数据有效负载的HTTP状态200。
- 如果请求未获得授权,请返回HTTP状态401.
- 否则,返回相应的标准HTTP状态。
<强>讨论强>
在此端点上支持标准HTTP缓存:检查If-Modified-Since标头,如果传递未更改,则返回HTTP状态代码304。
听起来像存折程序的结尾是永久性的,在这种情况下 410 Gone 将是一个合适的错误代码。 (来自RFC 2616)。
410 Gone
服务器上不再提供所请求的资源,并且不知道转发地址。预计这种情况将被视为永久性的。具有链接编辑功能的客户端应该在用户批准后删除对Request-URI的引用。如果服务器不知道或无法确定条件是否是永久性的,则应该使用状态代码404(未找到)。除非另有说明,否则此响应是可缓存的。
410响应主要用于通过通知收件人资源有意不可用以及服务器所有者希望删除到该资源的远程链接来协助Web维护任务。这种事件对于限时,促销服务以及属于不再在服务器站点工作的个人的资源是常见的。没有必要将所有永久不可用的资源标记为&#34;已消失&#34;或者将标记保留一段时间 - 由服务器所有者自行决定。
如果您的网络服务网址是在单独的子网域(例如passbook.example.com)上设置的,则只需删除子网域的DNS条目即可。请求永远不会到达服务器,Passbook最终会放弃。