get和post的区别和应用场景

原文链接:https://www.cnblogs.com/hmycheryl/p/8603365.html

区别:

1.传送方式不同:get通过地址栏传输,post通过报文传输。

2.get产生一个TCP数据包,post产生两个数据包。对于get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200;而对于post浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200.

3.get参数有长度限制,传送数据量不能大于2kb,post传送数据量不受限制(一般会受服务器配置限制或者内存大小)。

4.get安全性非常低,post安全性较高,但是执行效率比post高。

5.get方式服务器端用Resquest.QueryString获取变量的值,post方式服务器端用Request.Form获取提交的数据。

6.get是从服务器上获取数据,而post是向服务器传送数据。

应用场景:

若符合下列任一种情况,则用get:

1.请求是为了查找资源,HTML表单数据仅用来帮助搜索。

2.请求结果无持续性的副作用。

3.收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。

若符合下列任一种情况,则用post:

1.请求的结果有持续性的副作用,例如数据库内添加新的数据库行。

2.若使用get方法,表单上收集的数据可能让URL过长。

3.要传送的数据不是采用7位的ASCII编码。

转载于:https://www.cnblogs.com/ldddd/p/11206732.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值