带请求正文的 Elasticsearch GET 请求

2024-01-29

将请求正文与 GET 请求一起传递不是违反 REST 风格的方法吗?

例如在Elasticsearch中过滤一些信息

curl localhost:9200/megacorp/employee/_search -d '{"query" : {"filtered" : {"filter" : {"range" : {"age" : { "gt" : 30 }}},"query" : {"match" : {"last_name" : "smith"}}}}}'

有些工具甚至被设计为避免 GET 请求中的请求正文(例如 postman)


来自RFC https://www.rfc-editor.org/rfc/rfc7231#section-4.3.1:

GET 请求消息中的有效负载没有定义的语义;在 GET 请求上发送有效负载正文可能会导致某些现有实现拒绝该请求。

换句话说,这不是禁止的,但它是未定义的行为,应该避免。 HTTP 客户端、服务器和代理可以自由地删除正文,这不会违反标准。这绝对是一个不好的做法。

来自 HTTPBis 工作组(致力于 HTTP 和相关标准的小组)的更多文本:

最后,请注意,虽然 HTTP 在语法上允许 GET 请求有主体,但这只是为了允许解析器是通用的;根据 RFC7231 第 4.3.1 节,GET 上的正文没有任何意义,并且将被通用 HTTP 软件忽略或拒绝。

source https://github.com/httpwg/http-extensions/blob/master/draft-ietf-httpbis-bcp56bis.md

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

带请求正文的 Elasticsearch GET 请求 的相关文章

随机推荐

  • 用于执行“Between”的 Linq 表达式

    在 SQL 中 您可以编写一个查询 在 nvachar 类型的列上执行 Between 并简单地返回指定的最小值和最大值之间的所有行 例如 Table Id Int Name nvarchar Contents 1 Annie 2 Bill
  • Matplotlib 为重叠的艺术家选择事件顺序

    我在 matplotlib pick 事件中遇到了一个非常奇怪的问题 我有两位艺术家 他们都是可选择的并且一开始就不重叠 洞 和 钉子 当我选择其中之一时 在事件处理过程中我move另一个到我刚刚点击的位置 将 钉子 移动到 洞 中 然后
  • Range.Find 在 VBA Excel 中不区分一月和十一月(二月和十二月)

    假设我有以下琐碎的任务 连续写出 2016 年 1 月到 2018 年 6 月的第一个日期 找到 01 Janu 2016 并将其涂成红色 Use Range Find 因此 我创建了一个代码 从 1 循环到 30 并写入每个月的第一个日期
  • PyQt5:使用不透明小部件创建透明窗口

    是否可以使 mainWindow 完全透明 而其他小部件仍然可见 For example 我想让应用程序透明并使其他所有内容可见 例如 mainFrame 关闭按钮 最小化按钮 正如 Felipe提到的 你可以使用 window setAt
  • 在python中提取分隔符[]之间的单词

    从下面的字符串中 我想提取分隔符之间的单词 like Service Current Service 9991 1 22 str mysrv events Generating Event Name Service Current Cate
  • 在 NSPredicate 中组合“AND”和“OR”条件

    再次回来需要更多帮助来构建我的 NSPredicates Category name string subs lt gt gt SubCategory SubCategory name string numbervalue NSNumber
  • 每个帖子有多个例外,并带有摘录类别

    我正在寻找一种解决方案 允许自定义帖子类型中的每个帖子有多个摘录框 并且有一种方法可以让这些摘录具有类别 我知道我可以添加元框来提供额外的文本区域并显示该文本 但我不太确定这就是我想要的 澄清一下 我有一个自定义的推荐帖子类型 该帖子类型具
  • 是否可以使用 MediaRecorder() 获取音频数据的原始值

    我使用 MediaRecorder 和 getUserMedia 来记录浏览器中的音频数据 它可以工作 但是记录的数据是以 Blob 格式记录的 我想获取原始音频数据 振幅 而不是 Blob 有可能做到吗 我的代码如下所示 navigato
  • 如何从类方法中调用全局函数

    我有以下代码 def static func name print Name name class A def init self name self name name def fun self static func self name
  • GWT MVP - 维护多个彼此独立的显示

    我有一个 GWT 应用程序 并且正在将 GWT MVP 与地点 活动一起使用 我的应用程序布局是这样的 菜单 内容 菜单和内容显示将动态变化 并且其中一个变化独立于另一个 我的意思是 当内容显示发生变化时 我不想更新菜单显示 反之亦然 两个
  • typeof(DateTime?).Name == Nullable`1

    在 Net 中使用反射typeof DateTime Name返回 可空 1 有什么方法可以将实际类型作为字符串返回 在本例中为 DateTime 或 System DateTime 我明白那个DateTime is Nullable
  • 如何在 iOS 中向 PHP 发送 GEt 请求

    您好 我在向 PHP 发送 GET 请求时遇到问题 相同的 PHP 在 Web 浏览器中运行时工作正常 这是 PHP 和 Obj C 的代码片段 PHP var1 GET value1 var2 GET value2 当我在浏览器中调用它时
  • Android 项目的 tab+swipe 应用程序中不同选项卡的不同菜单

    我是 android 应用程序和 java 的初学者 基本上我是 PHP 开发人员 我有一个选项卡 滑动应用程序的项目 经销商 java 在 res menu 文件夹中为 menu a xml 和 menu b xml 创建菜单 xml 文
  • CoreData - 将实体的属性设置为不为空 - 属性应该设置为可选还是强制

    我需要将 Coredata 实体中的一个属性设置为非空并具有默认值 我已在 xcdatamodeld 架构定义中为实体的属性设置了默认值 我的问题是该属性是否应该标记为可选 如果我不检查属性的以下三个属性 Transient Optiona
  • 如何在sql server中选择彼此相隔一小时的记录

    我有一组带有时间戳的 user id 登录数据 用户可以多次登录 但我们需要从最短记录开始返回至少相隔一小时的记录 重复数据删除必须在用户级别进行 可以有多个用户 for eg 用户1 2012 03 07 14 24 30 000 用户1
  • 使用javascript获取外部url的文档

    我有一个 html 表单 它接受 url 作为 txt 输入和提交按钮 当我单击按钮时 我想访问提供的 url 的文档模型 我如何使用 javascript 访问该 url 的文档 如果您向该 url 发出 HTTP GET 请求 您将收到
  • std::initializer_list 作为构造函数的模板参数

    考虑一个从 std 容器继承的类 其模板构造函数调用容器的底层构造函数 此模板构造函数适用于简单的复制和移动构造函数 但不适用于initializer list 构造函数 template
  • DT:根据 R 闪亮应用程序中另一列的选择输入动态更改列值

    我正在尝试创建一个表 使用 DT 请不要使用 rhandsontable 该表几乎没有现有列 一个 selectinput 列 其中每行都有可供选择的选项 最后是另一列 该列将根据用户选择的内容进行填充从每行的 selectinput 下拉
  • 为什么 Internet Explorer 8 中会出现此泄漏?

    为什么下面的代码会泄漏 for var i 0 i lt 100 i var item item elem document createElement div document body appendChild item elem ite
  • 带请求正文的 Elasticsearch GET 请求

    将请求正文与 GET 请求一起传递不是违反 REST 风格的方法吗 例如在Elasticsearch中过滤一些信息 curl localhost 9200 megacorp employee search d query filtered