gpt4 book ai didi

http - HTTP POST 参数的顺序改变了吗?

转载 作者:可可西里 更新时间:2023-11-01 16:08:07 26 4
gpt4 key购买 nike

内容类型为“application/x-www-form-urlencoded”的 HTTP POST 请求的参数以 key=value 对的形式编码在正文中,并与 & 分隔符连接。来自 http://www.opencalais.com/HTTPexamples 的示例:

POST /enlighten/rest HTTP/1.1
Host: api.opencalais.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

licenseID=string&content=string&paramsXML=string

我认为当用户在网页上填写一个普通的 POST 表单时,浏览器在提交请求时不会绑定(bind)任何特定的键=值对顺序。

但是,当中间服务器传递请求时,HTTP 协议(protocol)是否说明了这个顺序? Apache、nginx、IIS 等服务器是否重新排列参数?如果将这样的 POST 请求发送到服务器,是否可以期望后端服务器代码(例如 PHP、Perl、Java)可以访问与发送时相同的 HTTP 请求主体?

最佳答案

浏览器应该在 tree order 中发送 application/x-www-form-urlencoded 数据.规范并没有说得很清楚,但如果你仔细看,你可以梳理一下。参见 x-www-form-urlencoded-encoding-algorithmConstructing the form data set .解码部分还将输出称为“名称-值对的排序列表”。

是的,一个行为良好的代理应该保留表单条目的顺序。

关于http - HTTP POST 参数的顺序改变了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com