何时选择get或post

关于http 

     http其实就是架构在tcp/ip之上 应用层的一种协议,简单地说就是计算机间沟通的一种方式,具体地说就是浏览器和WEB之间使用的沟通方式。 
我主要想强调一下最值得注意的几个点: 
一。两个基本但极为重要的特性 
     1.基于请求/响应模型:客户端对服务器发送一个取得资源的请求,服务器将要求的资源响应给客户端,每次联机只做一次请求/响应,没有请求就没有响应。 
     2.无状态通信协议:在http下, 服务端是个健忘的家伙,它相应客户端之后,就不记得客户端的信息,更不会去维护与客户端有关的状态。因此http协议又被称为无状态的(stateless)协议。 
二. 两种最常用的请求 
       相信大家都对get和post请求有过大致的了解,我主要和大家讨论一下如何选用get或post。 
<功能面上> 
        .get请求后面跟参数长度有限的,过长的参数,或如文件上传这类的大量数据,就不适合用GET请求。 
        .get请求的参数出现在地址栏,敏感性或安全性要求较高的参数(如银行卡密码,用 户名),就不该用get。 
         . post请求的参数不出现在地址栏中,所以无法加入浏览器的书签中,如果有些页面是根据请求参数来做不同的画面呈现(如论坛文章的发表),而你希望用户可以设定书签,以便日后可以直接点击书签浏览,则应该使用GET请求。 
       .有些浏览器会根据网址来缓存数据,如果网址是相同的URL,则会直接从浏览器缓存中取数据,而不会真正的发送请求至服务器查询最新的数据,,这是可以使用POST请求。(使用get也可以,不过得在网址后加上时间戳) 
<非功能面> 
按功能是否为等幂操作 
     get请求用于等幂操作,就是纯粹的取数据,而不改变服务器的状态, 
    post请求用于非等幂操作,post发送的数据有可能影响服务器的数据,如修改数据库。

猜你喜欢

转载自blog.csdn.net/los_ATend/article/details/78768284
今日推荐