1. 设计意图
- get是从服务器上获取数据,不会修改服务器内容
- post是向服务器传送数据。
2. 客户端发送方式
- get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
- post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 服务端获取变量值方式
- 对于get方式,服务器端用Request.QueryString获取变量的值
- 对于post方式,服务器端用Request.Form获取提交的数据。
4. 传送数据量
- get传送的数据量较小,不能大于2KB。GET是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系。 实际上HTTP协议对URL长度是没有限制的;限制URL长度大多数是浏览器或者服务器的配置参数
- post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。一般是受服务器配置限制或者内存大小。
5. 安全性
- get安全性非常低(GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中。)
- post安全性较高。但是执行效率却比Post方法好。
6.多次发送请求
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;post需要token来防止跨站请求漏洞。