我有 REST 和 WCF 服务,并且想要根据操作发送自定义状态代码。
例如,当某些验证失败时,我想发送 HTTP 444,当授权失败时,我想发送 HTTP 455
问题是我们如何针对 SOAP 和 REST Web 服务验证它。
在客户端上,错误代码如何起作用,因为当您从 WCF 服务(使用 SOAP)发送 HTTP 400/500 时,客户端上会抛出异常并显示状态代码?
现在,如果我发送新的自定义状态代码,客户端如何处理?
是的,只要您尊重该类,即 2xx 表示成功,4xx 表示客户端错误等。因此,您可以针对自己的应用程序的错误条件返回自定义 4XX 错误代码(最好是未分配的错误代码)。
引用[RFC 2616][1]:
“HTTP 状态代码是可扩展的。不需要 HTTP 应用程序
了解所有注册状态代码的含义,尽管这样
理解显然是可取的。但是,应用程序必须
了解任何状态代码的类别,如第一个所示
数字,并将任何无法识别的响应视为等同于
该类的 x00 状态代码,但以下情况除外
无法识别的响应不得被缓存。例如,如果
客户端收到无法识别的状态码431,可以
安全地假设它的请求有问题并且
将响应视为已收到 400 状态代码。”
Class'
-
1xx:信息 - 收到请求,继续处理
-
2xx:成功 - 操作已成功收到,
理解并接受
-
3xx:重定向 - 必须采取进一步行动才能
完成请求
-
4xx:客户端错误 - 请求包含错误语法或无法
得到满足
-
5xx:服务器错误 - 服务器未能完成明显的任务
有效请求[1]:
https://www.rfc-editor.org/rfc/rfc2616#section-6.1.1 https://www.rfc-editor.org/rfc/rfc2616#section-6.1.1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)