"标准"答案
GET使用URL或Cookie传参,POST则将数据放在body中
GET的URL会有长度上的限制,POST的数据可以非常大
POST比GET安全,因为数据在地址栏上不可见
这都是一些经典面试材料抄袭的"经典"的答案,没有一点权威意义,不一提,今天我们就从官方RFC文档一探究竟
GET 和 POST 是由 HTTP 协议定义的
在HTTP协议中,Methods
和Header
是不相干的两个概念,使用哪个Method与应用层的数据如何传输是没有关系的
Methods 定义
译文 : 请求方法token是请求语义的主要来源;
它表示客户端发出此请求的目的以及客户端对成功结果的期望。
如果这些附加语义与方法不冲突,请求方法的语义可能会进一步由某些头字段的
语义进一步专门化,如果存在于请求中(第5节)
method = token
HTTP 协议也没有要求,如果Method是POST数据就要放在BODY中
译文 : POST 方法请求目标资源 根据资源自身的特定语义 处理请求中包含的表示
例如,POST 用于以下功能:
1.供数据块,例如输入HTML 表格的字段的数据处理过程;
2.在公告栏,新闻组,邮件列表,博客或类似的文章组中发布消息;
3.创建一个尚未被原服务器识别的新资源;
4.将数据附加到资源的现有表示中