Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 更正进程有问题但没有异常的请求的HTTP状态代码_Rest_Http - Fatal编程技术网

Rest 更正进程有问题但没有异常的请求的HTTP状态代码

Rest 更正进程有问题但没有异常的请求的HTTP状态代码,rest,http,Rest,Http,这种情况是,客户端将请求删除表中的某个项目,但该项目已被删除,而不是物理删除,因此不会出现“未找到”的情况。可能是200,但还没有删除。大约在200和500之间 返回一个要执行的请求,但该请求未成功完成(因此不是200),但没有异常(不是500)。如果您对不存在的资源执行请求,您仍然可以使用404 not Found。是否“物理删除”与客户无关 如果您知道它以前被删除过,而且再也不会回来,410 Gone也是合适的如果您正在对不存在的资源执行请求,您仍然可以使用404 Not Found。是否“

这种情况是,客户端将请求删除表中的某个项目,但该项目已被删除,而不是物理删除,因此不会出现“未找到”的情况。可能是200,但还没有删除。大约在200和500之间


返回一个要执行的请求,但该请求未成功完成(因此不是200),但没有异常(不是500)。

如果您对不存在的资源执行请求,您仍然可以使用
404 not Found
。是否“物理删除”与客户无关


如果您知道它以前被删除过,而且再也不会回来,
410 Gone
也是合适的

如果您正在对不存在的资源执行请求,您仍然可以使用
404 Not Found
。是否“物理删除”与客户无关


如果您知道它以前被删除过,而且再也不会回来,那么,
410 Gone
也是合适的

状态代码属于域;您希望从通用文档传输语义的角度来考虑它们,而不是针对您的实现的任何特定内容

不安全方法的一个有趣特征是,从某种意义上说,它们是声明性的——“让资源像这样”。如果资源已处于所需状态,则可以返回一个成功响应来指示该状态

这在中得到了明确说明,讨论了If匹配头的含义:

如果接收到的if匹配条件评估为false,则源服务器不得执行请求的方法;相反,如果源服务器已验证正在请求状态更改,且最终状态已反映在目标资源的当前状态中,则源服务器必须使用a)412(前提条件失败)状态代码或b)2xx(成功)状态代码之一进行响应(即,用户代理请求的更改已经成功,但用户代理可能没有意识到,这可能是因为先前的响应丢失或某个其他用户代理进行了兼容更改)

从根本上说,HTTP不限制服务器的功能(实现),而只限制消息的含义(语义)。在无操作的情况下,返回带有成功代码的消息具有完全令人满意的意义,特别是(在符合标准的客户机中)会产生我们想要的响应类型

当一个不安全的请求改变一个资源时,成功代码也可能是合适的,但不是以预期的方式。同样,服务器对其自身的实现拥有权限,我们主要关心的是向客户端传递什么信息


例如,我提交了一个报销申请。我希望我的申请变为“已批准”状态,但如果某些业务规则生效,它可能会变为“正在审查”。我仍然希望收到一个2xx状态代码,即使服务器没有执行“我想要的”操作,因为消息已被接收并执行了操作,而我以前缓存的资源副本是。

状态代码属于域;您希望从通用文档传输语义的角度来考虑它们,而不是具体到您的实现的任何内容

不安全方法的一个有趣的特征是,从某种意义上说,它们是声明性的——“使资源像这样”。如果资源已经处于所需的状态,您可以返回一个成功响应来表明这一点

这在中得到了明确说明,讨论了If匹配头的含义:

如果接收到的if匹配条件评估为false,则源服务器不得执行请求的方法;相反,源服务器必须使用a)412(前提条件失败)状态代码或b)2xx(成功)之一进行响应如果源服务器已验证正在请求状态更改,并且最终状态已反映在目标资源的当前状态中,则状态代码(即,用户代理请求的更改已经成功,但用户代理可能没有意识到,这可能是因为先前的响应丢失或某个其他用户代理进行了兼容更改)

从根本上说,HTTP不限制服务器的功能(实现),而只限制消息的含义(语义)。在无操作的情况下,返回带有成功代码的消息具有完全令人满意的意义,特别是(在符合标准的客户机中)会产生我们想要的响应类型

当一个不安全的请求改变一个资源时,成功代码也可能是合适的,但不是以预期的方式。同样,服务器对其自身的实现拥有权限,我们主要关心的是向客户端传递什么信息

例如,我提交了一个报销申请。我希望我的申请变为“已批准”状态,但如果某些业务规则生效,它可能会变为“正在审查”。我仍然希望收到一个2xx状态代码,即使服务器没有执行“我想要的”操作,因为消息已被接收并执行了操作,并且我以前缓存的资源副本已被删除