1.get是从服务器上获取数据,post是向服务器传送数据。
2.get提交,提交的信息都显示在地址栏中,将信息封装到了请求信息的请求行中,post提交,提交的信息不显示在地址栏中,将信息封装到请求体中。
(get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。
用户看不到这个过程)
3.get提交,对于敏感的数据信息不安全,post提交对于敏感信息安全,也就是get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
4. get提交,传送的数据量较小,因为地址栏存储体积有限,不能大于2KB,post提交可以提交大体积的数据,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. 在服务端的一个区别
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
如果出现将中午提交到tomcat服务器,服务器默认会用iso8859-1进行解码会出现乱码
通过iso8859-1进行编码,在用指定的中文码表解码。即可。
这种方式对get提交和post提交都有效。
但是 对于post提交方式提交的中文,还有另一种解决方式,就是直接使用服务端一个对象
request对象的setCharacterEncoding方法直接设置指定的中文码表就可以将中文数据解析出来。
这个方法只对请求体重的数据进行解码。
综上所述:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
和服务器交换的三种方式
1. 地址栏输入url地址 get
2. 超链接 get
3 表单 get和post