继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

带你从 HTTP/1.1 协议文档看 GET 和 POST 的区别

JavaEdge
关注TA
已关注
手记 286
粉丝 1.4万
获赞 1461

"标准"答案

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.将数据附加到资源的现有表示中

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP