Get请求与Post请求的区别与应用场景

Get请求与Post请求都是Http请求协议中的两种请求方式

一、什么时候浏览器向服务器发送的是Get请求?什么时候浏览器向服务器发送的是Post请求?

只有在使用<form>表单,且form标签的method属性为“post”的时候,浏览器向服务器发送的是post请求,其余时候发送的都是get请求(包括在form标签的method属性为没有指明为“get”也发送的是getq请求)

二、Get请求与Post请求的区别

1、数据位置

Get请求在请求行中提交数据,格式:URI?name=value&name=value&name=value&...   这种提交方式最终提交的数据会显示在浏览器的地址栏上

 

Post请求在请求体中提交数据,格式:name=value&name=value&name=value&...    这种提交方式提交的数据不会在浏览器的的地址栏上显示

 

 

2、提交数据的长度

Get请求在请求行中提交数据,所以Get请求提交的数据有长度限制,最多1024B,因为GET数据是附在URL之后的,而URL则会受到不同环境的限制的,比如说IE对其限制为2K+35

Post请求在请求体中提交数据,所以Post请求提交的数据没有长度限制,所以Post请求常用来提交大数据

3、可提交数据的类型

Get请求只能提交字符型数据

Post请求可以提交任何类型的数据,比如文件、音频、视频等

 

4、请求效率

Get请求的最终结果会被浏览器缓存收纳,请求一次后,会被浏览器缓存,下一次访问相同的内容是就不用再去服务器中获取,而是在浏览器缓存中获取,请求效率大大提高。

Post请求的最终结果不会被浏览器缓存收纳,每次请求都需要去服务器获得相关资源

例如我们去请求百度首页这样不变(或者说短时间不会发生改变)的资源,所以我们可以用get请求来请求这个页面,get请求在第一次请求到这个资源的时候,浏览器会进行缓存,再一次请求这个资源的时候,就不用去服务器中取了,这样可以提高我们的请求效率

post请求主要是为了修改服务器中的资源,而每次修改是不同的,所以没必要被浏览器缓存

 

5、安全性

Post请求的安全性比Get请求的安全性高,因为Get请求的参数是不加密,明文传输的,且会直接显示到浏览器的浏览框上;Post请求的数据则是可加密的,也不会显示到浏览器的浏览框上

例如我们有一个登录表单,需要我们填写用户名字及登录密码,如果我们使用Get请求,则

 在浏览框中即可看到我们的密码,则没有安全性可言了

三、Get请求与Post请求的应用场景

Get

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

Post

1、有敏感数据

2、传输的数据不是普通字符

3、传输的数据非常多

4、请求是为了修改服务器资源

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值