【发布时间】:2014-07-24 15:29:58
【问题描述】:
为什么 POST 参数放在请求正文中,而不是像 GET 那样放在 URL 中?
我了解 GET 请求旨在读取数据,而 POST 请求旨在更改数据(即,如果多次发送 POST 请求,可能会发生危险的事情)。但为什么 URL 与正文的差异?将文本放在正文中似乎并不安全或私密。
【问题讨论】:
为什么 POST 参数放在请求正文中,而不是像 GET 那样放在 URL 中?
我了解 GET 请求旨在读取数据,而 POST 请求旨在更改数据(即,如果多次发送 POST 请求,可能会发生危险的事情)。但为什么 URL 与正文的差异?将文本放在正文中似乎并不安全或私密。
【问题讨论】:
这不是关于安全或隐私,而是关于数据。
您可以在正文中发送您想要的任何内容,而 URI(特别是查询字符串)在内容和长度方面非常受限制。
【讨论】:
HTTP 请求有两部分:header 和 body
标头包含描述请求和请求对象(路径、请求参数、选项等)和请求操作(GET、POST、PUT、DELETE 等)的所有信息。
正文包含客户端发送来处理的所有数据。这些数据可以是某种二进制数据(例如图像),也可以是某种表单数据(POST 数据)。
这是 HTTP 请求规范:http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html
以下是 HTTP 请求方法的定义: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
【讨论】: