http协议中post与get有什么区别

如题所述

第1个回答  2017-11-25
一、根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
二、根据HTTP规范,POST表示可能修改变服务器上的资源的请求。
还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。
区别:

1)GET请求只是简单的获取数据,不修改请求的资源;而POST请求会修改请求的资源。导致的后果是相同的GET请求能获取相同的资源,而POST不能保证获取相同的资源。
2)GET请求的参数在HTTP中是通过url传递的,POST请求的数据是通过requestbody体传递的
3)GET请求资源再服务器上能够缓存,而POST就不能够了
4)GET请示的参数的数据长度是有限制的,而POST请求的数据长度没有限制
5)GET请求无法传递二进制数据到服务器,而POST可以,本回答被提问者采纳
相似回答