Get与Post

get请求和post请求的区别:
1、get请求可以在浏览器中请求到,post请求的测试需要借助工具
2、get请求使用url和cookie传参,post的数据放在body中
3、post比get安全,因为传递的参数在url上是看不到的
4、get请求的url会有限制,而post请求的数据可以非常大
5、一般get请求是来获取数据,post请求是传递数据的

其实,对于现在飞速发展的互联网来说,上面的说法已经成为传统。首先,post请求的参数也可以写在url里,但是这种情况不多见;其次,表面上看起来,post利用body传参,比get的url传输安全,但其实只要用抓包工具(fiddler,Charles等),post的参数也是一览无余;再次,现在的浏览器非常强大,可以输入支持很长的url,所以也不再有限制一说了。所以,种种区别最后只有最后一条是最根本的区别。即一个用来获取数据,一个用来传递数据。

Get获取资源
get方法用来获取请求已经被URI识别的资源

指定的资源经服务器端解析后返回响应内容(也就是说,如果请求的资源是文本,那就保持原样返回,如果是CG【通用网关接口】那样的程序,则返回经过执行后的输出结果

最常用向服务器查询某些信息,必要时,可以将查询字符串参数追加到URL末尾,以便于将信息发送到服务器

使用get请求时经常发生的一个错误,就是查询字符串的格式有问题,查询字符串中每个参数的名称和值都是必须使用encodeURLComponent()进行编码,然后才能放到URL的末尾,而且所有的名-值对都必须有(&)分离

Post传输实体文本
post用来传输实体的主体,但一般不用get方法进行传输,而是用post方法,虽然get方法和post方法很相似,但是post的主要目的并不是获取相应的主体内容

post请求的主体可以包含非常多的数据,而且格式不限

默认情况下,服务器对于post请求和提交web表单的请求并不会一视同仁

post和get本质上的区别
get方法用于信息的获取,它是安全的(安全指非修改信息,如数据库方面的信息),而post发法是用来修改服务器上资源的请求

get请求会附在URL后面,而post方法是提交的数据则放置在HTTP保温实体的主体里,所以post方法的安全性比get方法要高

get方法传输的数据量一般限制在2KB,其原因在于get是通过URL提交数据的,而URL本身对于数据没有限制,但是不同的浏览器对于URL室友限制的,比如IE浏览器对于URL的限制是2KB,而Chrome、Firefox的浏览器理论上对于URL是没有限制的,它真正的限制取决于操作系统本身,post方法对于数据大小是无限制的,真正影响到数据大小的是服务器处理程序的能力

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值