get与post浅谈

目录

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE;URL全称是资源描述符,我们可以认为一个URL用于描一个网络上的资源,而HTTP的GET,POST,PUT,DELETE方法对应着这个资源的查、改、增、删(通俗的可以这样理解)。

原理上的区别:

根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的:
- 所谓的安全的仅仅指非修改信息,对资源状态没影响
- 幂等的意味着对同一个URL的多次请求应该返回相同的结果
根据HTTP的规范,POST表示可能修改服务器上资源的请求;

表面现象看的区别:

  • GET请求的数据会附在URL之后,以?分隔URL和传输数据参数之间以&相连如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
    POST把提交的数据则放置在是HTTP包的包体中。
  • GET可提交的数据大小是由URL的长度决定的(整个URL的长度,而不是你的参数的长度)
    POST的数据是没有大小限制的,HTTP协议规范也没有进行大小限制,而一般的限制是服务器处理程序的处理能力
    -POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

总结

简单来说就是GET是向服务器发起索取数据的一种请求,POST是向服务器发起提交数据的一种请求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值