HTTP的GET 和POST的区别

GET POST方法可能最简单的理解就是GET方法是获取数据,POST方法是提交数据, 其实这两个方法都可以提交或者获取数据的,只是他们传输数据的机制有点不同。

GET方法传输数据的格式:

/test/demo_form.asp?name1=value1&name2=value2

URL中传输的数据是:name1=value1&name2=value2

POST方法传输数据的格式:

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

Body中传输的数据是:name1=value1&name2=value2


通过传输数据的方式,就可以很明显的看出来, GET的数据的方法在URL地址里面, POST方法的数据在body里面(非URL中),


这个就是他们传输数据的区别, 然后他们的安全性就不同

1、安全级别不一样,通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。Post是可以加密传输数据的

2、POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

3、他们传输数据的大小也不同,.get、post本来没有长度限制,但是大多数浏览器对get有1024的限制, 服务器对post有100KB左右的限制

  总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值