前端7班_yupu
一、post和get方式的区别?
1. GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,
参数之间以&相连
login.actionname=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数
据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串
用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的
ASCII。
POST把提交的数据则放置在是HTTP包的包体中。
2. Get一般用于提交少量数据,Post用于提交大量数据
3. Get最多提交1k数据,浏览器的限制。Post理论上无限制,受服务器限制
4. Get提交的数据在浏览器历史记录中,安全性不好
这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修
改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文
出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别
人就可以拿到你的账号和密码。
二、什么时候用get 什么时候用post?
若符合下列任一情况,则用POST方法:
* 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
* 若使用GET方法,则表单上收集的数据可能让URL过长。
* 要传送的数据不是采用7位的ASCII编码。、
若符合下列任一情况,则用GET方法:
* 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
* 请求结果无持续性的副作用。
* 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。
总之,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在
FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一
个发!
参考:
1、什么时候用GET?什么时候用POST? - perny的专栏
- 博客频道 - CSDN.NET
2、浅谈HTTP中Get与Post的区别 - 51CTO.COM
3、饥人谷课件