GET请求和POST请求的区别

B/S应用程序中,前台与后台的数据交互,都是通过HtmlForm表单完成的。Form提供了两种数据传输的方式——getpost。虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响。虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一些差异,但是了解二者的差异在以后的编程也会很有帮助的。

 

   1.GET能随在URL之后的请求参数长度是有限的,过长的请求参数,或像文件上传这类的大量数据,就不适合用GET请求,而应该改用POST。

 

    2.GET的请求参数会出现在地址栏上,敏感性或保密性的请求参数(例如信用卡号码、用户名、密码等),就不应该使用GET请求来发送。

 

   3.POST请求的请求参数不会出现在地址栏上,所以无法添加到浏览器的书签之中,如果有些页面是根据请求参数进行不同的页面显示(例如论坛的文章发表),而你应该希望可以让用户设置书签,以使日后可以直接点击书签进行浏览,则此时应该使用GET。

 

   4.有些浏览器会根据地址栏缓存数据,如果地址栏是相同的URL,则会直接从浏览器缓存中取出数据,而不会真正发送请求而服务器上查询最新的数据,如果不希望服务器状态改变,而浏览器仍从缓存中取得旧数据,则可以改用POST(使用GET基本上也有方法避免缓存,例如在地址栏上附加时间戳记,让每次GET请求的地址栏都不相同)。

 

      5.GET将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;POST是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL


      6.
GET是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。POST的所有操作对用户来说都是不可见的。

   在应用过程中POST请求使用的概率大概为80%,如果初学者在无法判断的情况下可以做适当参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值