什么时候适合响应 HTTP 412 错误?

2024-04-15

我不清楚什么时候应该或不应该返回 HTTP 412:先决条件失败,Web 服务错误?我正在考虑在验证数据时使用它。例如,如果客户端 POST 的 XML 数据并且该数据缺少必需的数据元素,则以 412 和错误描述进行响应。

这是否符合 HTTP 412 响应的精神,还是应该使用其他内容(例如另一个 http 错误代码或 Web 应用程序异常)?


如果你看RFC 2616 http://www.w3.org/Protocols/rfc2616/rfc2616.html您将看到许多可用于将条件应用于请求的请求标头:

If-Match
If-Modified-Since
If-None-Match
If-Range
If-Unmodified-Since

这些标头包含“先决条件”,允许客户端告诉服务器仅在满足某些条件时才完成请求。例如,您使用PUT请求更新资源的状态,但您只想要PUT如果自您最近一次以来该资源未被其他人修改过,则要采取行动GET.

响应状态码412(前提条件失败)通常在这些前提条件失败时使用。

您的示例听起来像是无效的请求(即客户端提交了由于缺少值而无效的数​​据)。状态码为400IMO 在这里(错误请求)更合适。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么时候适合响应 HTTP 412 错误? 的相关文章

随机推荐

  • JPanel 未显示

    为什么 UI 没有显示在我的下面的代码中 public class GUI extends JPanel public GUI String name String address List
  • php中包含bootstrap和js

    我需要一双新的眼睛来看待这个 我直接从我的一把老小提琴中获取代码https jsfiddle net RachGal fs9u6mwe 1 https jsfiddle net RachGal fs9u6mwe 1 在大学厨房网站上显示照片
  • Terraform 条件配置

    我对 Terraform 配置有疑问 当我第一次运行 terraform 时 我使用在 AWS 控制台中生成的 SSH 密钥 该密钥正在添加到ubuntu用户 Ubuntu 16 04 AMI 然后我跑remote exec配置 provi
  • objdump 输出中的“Algn”2**2 和 2**0 意味着什么?

    下面的文件中这是什么意思 2 2 and 2 0 objdump h main o main o file format elf32 i386 Sections Idx Name Size VMA LMA File off Algn 0 t
  • 使用数组中的参数生成 URL

    我需要采用如下所示的数组 subids Array s1 gt one s2 gt two s3 gt three s4 gt four s5 gt five s6 gt six 并生成一个 URL 例如 所有 subids 并不总是已定义
  • 如何将光标设置在edittext的末尾

    每当我触摸编辑文本时 光标应该位于末尾 即使编辑文本已经有一些文本并且它不应该允许向左移动奖项 editTextView setOnTouchListener new View OnTouchListener Override public
  • 查找当前 Vim 折叠的第一行

    我正在编写一个 Vimscript 函数 其中我需要查找当前折叠的第一行的行号 到目前为止我一直在使用这个 function GetFoldStart let l current line line normal z let l curre
  • 使用 Python 在 Google 中搜索

    我想使用 python 脚本在 Google 中搜索文本 并返回每个结果的名称 描述和 URL 我目前正在使用这段代码 from google import search ip raw input What would you like t
  • OSX Mountain Lion 上新安装的 RVM Ruby 1.9.3 出现“bad ecpoint”SSL 错误

    尝试使用 Ruby 1 9 3 rest client发出 https 请求 例如 RestClient get https google com 总是给我一个 SSL 错误 OpenSSL SSL SSLError SSL connect
  • 在VB6中使用Sax解析编辑和编写XML

    因此 我尝试使用 VB6 中的 SAX 解析 对于古老的 COM 组件 来编辑 xml 输出是 xml 我更喜欢使用 DOM 解析 但 xml 的大小 可能超过 20MB 迫使我使用 SAX 我对 VB6 比较陌生 并且没有 SAX 解析经
  • 在这种情况下,数组索引中的字符表示如何工作?

    我是 C 初学者 我有这样的代码 include
  • 使用适用于 Android 的新 Facebook SDK 将内容添加到 Facebook feed 对话框

    我知道this https stackoverflow com questions 4450517 adding content to facebook feed dialog from facebook sdk for android线程
  • EntityFramework 是否可用于 Windows 8 应用商店应用程序?

    EntityFramework 是否可用于 Windows 8 应用商店应用程序 我正在使用适用于 Windows 8 的 Visual Studio 2012 Express 我开始怀疑 因为我无法让它发挥作用 我从 NuGet 安装了实
  • Delphi:使组件对实时绑定可见

    我一直在尝试制作一个具有对视觉绑定表单可见的字符串属性的测试对象 该组件已使用适当的属性进行注册 使用 XE8 和 Firemonkey 我可以通过使用隐藏显示元素选择它来使其显示在可视绑定器上 但是我无法让它将 Foo 字符串绑定到 TE
  • 如何更改 Kendo 警报标题?

    我正在使用 Kendo 警报并想更改其标题 默认标题是 url 名称 请参阅下面的链接 图片 我想使用自己的标题 如何更改 图像剑道警报 https i stack imgur com AscDa png 剑道警报 kendo alert
  • Graphviz 允许边缘节点重叠

    我想在项目中使用 graphviz 但无法获得我想要的行为 我有一个可以用 graphviz 绘制的图表 但我也有同一个图表的一个版本 它有一些额外的边 我希望绘制第二个图时 节 点与第一个图的位置相同 边缘也位于相同的位置 但绘制新的边缘
  • Silverlight 3:没有变化,但现在我收到“找不到页面”

    有一个工作正常的页面 我所做的唯一更改是向页面添加一个数据网格 其中还添加了 xmlns 突然间我得到了 找不到页面 检查了 UriMappings 尝试了默认导航链接 没有喜悦 Ideas 更新 答案是我有一个没有初始化集合的模拟类 请参
  • 何时使用filter_input()

    这个问题最初是在评论中提出的here https stackoverflow com questions 768442 php filter input comment 580014 Is 过滤器输入 http www php net ma
  • 在 VSCode 中每次保存时运行 rsync

    我的本地系统上有一个存储库 并正在远程服务器上测试我的更改 我正在使用 VSCode 进行开发 我希望每次保存时 rsync 都应在后台运行 并将当前本地文件中的更改与远程同步 我如何使用 VSCode 实现这一目标 我在用保存并运行 ht
  • 什么时候适合响应 HTTP 412 错误?

    我不清楚什么时候应该或不应该返回 HTTP 412 先决条件失败 Web 服务错误 我正在考虑在验证数据时使用它 例如 如果客户端 POST 的 XML 数据并且该数据缺少必需的数据元素 则以 412 和错误描述进行响应 这是否符合 HTT