首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取&后传递参数

获取&后传递参数
EN

Stack Overflow用户
提问于 2022-03-10 16:54:02
回答 1查看 200关注 0票数 0

我读过很多关于使用GET和POST方法传递参数的堆栈溢出问题,但没有一个能满足我的好奇心。

我使用GET作为路径/查询参数检索数据传递参数,并使用POST将数据传递参数保存为具有内容-Type: application/json的请求体,有时还使用request body + path/query params (取决于我创建的仅用于简单度量的其他API)。

我的问题是什么时候使用内容类型: application/x-www-form-urlencoded。假设我想调用一个没有内容类型请求体的帖子-Type: application/json,但是对于params,我必须使用application/x-www-form-urlencoded Type,还是可以使用path/query params作为最佳实践?

将数据作为路径/查询参数发送与使用内容类型:application/x form-urlencoded的键值参数有什么区别?数据大小与此有关吗?

EN

Stack Overflow用户

发布于 2022-03-10 19:09:13

将数据作为路径/查询参数发送与使用内容类型:application/x form-urlencoded的键值参数有什么区别?

考虑一下这个例子

代码语言:javascript
运行
复制
PUT /example?a=b&c=d
Content-Type: application/x-www-form-urlencoded

d=e&f=g

这里发生了什么事?这是一个请求,要求服务器替换当前由

代码语言:javascript
运行
复制
/example?a=b&c=d

带着有效载荷。换句话说,在成功的处理之后,我们会期望

代码语言:javascript
运行
复制
GET /example?a=b&c=d

产生这样的反应

代码语言:javascript
运行
复制
200 OK
Content-Type: application/x-www-form-urlencoded

d=e&f=g
代码语言:javascript
运行
复制
POST /example?a=b&c=d
Content-Type: application/x-www-form-urlencoded

d=e&f=g

对于POST,除了“替换当前的表示”之外,POST代表的是“根据/example?a=b&c=d的特定语义处理有效负载”。

获取以路径/查询参数形式检索数据传递参数的方法。

在这里重新思考也许会有帮助。我们使用GET检索资源的当前表示形式。我们不是传递参数,而是传递文档(资源)标识符。

源服务器的实现将解析该标识符这一事实是实现细节。

URI模板是一个紧凑的字符序列,用于通过变量展开描述一系列统一的资源标识符。-- RFC 6570

我想调用一个没有内容类型请求体的帖子-Type: application/json,但是对于params,我是否必须使用application/x form-,还是可以使用path/query params作为最佳实践?

代码语言:javascript
运行
复制
POST /example?a=b&c=d
Content-Type: application/json

{"d":"e","f":"g"}

是一个完全正常的HTTP请求。

内容类型只描述有效负载-它与目标URI没有任何关系,以及如何在其中编码信息。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71427897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档