get和post的使用情景和区别

向服务器发送请求

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

若符合下列任一情况,则用POST方法:

  • 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
  • 若使用GET方法,则表单上收集的数据可能让URL过长。
  • 要传送的数据不是采用7位的ASCII编码。

若符合下列任一情况,则用GET方法:

  • 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
  • 请求结果无持续性的副作用。
  • 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符

两者的区别:

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

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

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

④get安全性非常低,post安全性较高,但是执行效率比post方法好。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值