饥人谷技术博客

Post和Get方式的区别?

2015-11-29  本文已影响0人  yuepu

前端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、饥人谷课件

上一篇下一篇

猜你喜欢

热点阅读