【Java】——http中get和post请求的区别

来源:互联网 发布:淘宝直播镜像 编辑:程序博客网 时间:2024/06/17 08:21

          GETPOST请求都是http的请求方式,用户通过不同的http请求方式完成对资源(URL)的操作,GETPOSTPUTDELETE就是对应着对这个资源的查,该,增,删四个操作,具体点来讲GET一般用于获取|查询资源信息,而POST一般用于更新资源信息。

提交参数形式

GET请求提交的数据会在地址栏显示出来,而Post请求不会再地址栏显示出来。GET提交请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数会用&连接;Post提交:把提交的数据放置在HTTP包的包体中。因此,GET提交的数据会在地址栏中显示,而Post提交,地址栏不会改变

传输数据的大小

Http GET:请求由于浏览器对地址长度的限制而导致传输的数据有限制(最多只能有1024字节),而Post的请求不会因为地址长度限制而导致传输数据限制。

安全性

POST的安全性要比GET的安全性高。正如在(1)中提到,使用 Get的时候,参数会显示在地址栏上,而Post不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

 

安全的和幂等的

所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一URL的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST请求就不那么轻松了。POST表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过POST请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。(这一条不太理解。)

原创粉丝点击