为什么POST参数放在请求体中,而不是像GET这样的URL?

时间:2014-07-24 07:23:32

标签: http post get

为什么POST参数放在请求体中,而不是像GET那样放在URL中?

我理解GET请求是为了读取数据,而POST请求是为了改变数据(即如果POST请求被多次发送,可能会发生危险的事情)。但为什么URL与身体的区别?将文本放入正文并不会显得更加安全或私密。

2 个答案:

答案 0 :(得分:2)

这不是关于安全性或隐私,而是关于数据

您可以在正文中发送任何内容,而URI(特别是查询字符串)在内容和长度方面的限制非常严格。

答案 1 :(得分:0)

HTTP请求包含两部分:headerbody

标题包含描述请求和请求对象(路径,请求参数,选项等)和请求的操作(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