Get和Post区别
在B/S模式中,客户端与服务端交互的方法有:get和post。所有网站框架都是在此基础上发挥,因为它们是Http协议定义的与服务器交互的方法,只要用到http协议,都会使用这两种方法。Http还定义了put和delete方法。现总结区别如下:
1. get是从服务器上获取数据,post是向服务器传送数据。在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式。
2. 生成方式
get方式有四种:1)直接在URL地址栏中输入URL。2)网页中的超链接。3)form中method为get。4)form中method为空时,默认是get提交。post只知道有一种:form中method属性为post。
3. 数据传送方式
get方式:表单数据存放在URL地址后面。所有get方式提交时HTTP中没有消息体。
post方式:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。
4. 服务器获取数据方式
GET方式:服务器采用request.QueryString来获取变量的值。
POST方式:服务器采用request.Form来获取数据。
5. 传送的数据量
GET方式:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制。
POST方式:适合大规模的数据传送。因为是以实体的方式传送的。
6. 安全性
GET方式:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低。
POST方式:安全性高。因为post方式提交数据时是采用的HTTP post机制,是将表单中的字段与值放置在HTTP HEADER内一起传送到ACTION所指的URL中,用户是看不见的。
7. 在用户刷新时
GET方式:不会有任何提示、
POST方式:会弹出提示框,问用户是否重新提交。