GET提交和POST提交的区别
来源:互联网 发布:access数据库查询语句 编辑:程序博客网 时间:2024/06/10 07:41
网页数据的提交方式共有7种,目前最常用的是GET提交和POST提交。
GET提交和POST提交都是在form表单中表现的。
下面我来详细的说说他们之间的区别:
form:标签中常见的属性定义
action:指定表单组件数据发送的位置。如果没有定义action属性,那么默认提交到当前的页面。
method:定义表单提交的方式,只有两种比较常用,GET和POST。如果没有指定method,默认就是GET提交方式。
GET提交和POST提交的区别:
1、
GET:会将提交的信息显示在地址栏上。
POST:不会将提交的信息显示在地址栏。
2、
GET:对于敏感信息不安全,因为显示在地址栏。
POST:对于敏感信息安全,因为不会在地址栏显示出来。
3、
GET:因为显示在地址栏,而地址栏的信息数据量是有限的,所以不可以提交大数据。
POST:可以提交大体积的数据。
4、
GET:会将信息封装到请求行,也就是http请求消息头之前。
POST:会将信息封装到请求体,也就是http请求消息头之后,请求体和请求头之间通过空行来进行分隔。
下面是需要注意的特殊之处:
对于服务器是tomcat服务器。
当提交中文时:
GET提交:服务端接受到中文数据,会用默认的编码表ISO88598-1解码。会出现乱码,所以必须要对该乱码进行一次编码再解码的动作。
当向服务端请求时,会将数据封装到一个请求对象中,request对象,可以通过该对象的String name=getParamter("user"),获取客户端提交的用户名。
但是解码用的ISO88598-1,name会出现乱码,new String(name.getBytes("ISO88598-1"),"GBK");
POST提交:服务端收到中文,可以使用编一次再解一次的方式,也就是和GET一样的方式可以完成乱码的解决。
通过它有另一种方式,就是直接使用request对象,调用一个方法。setCharacterEncoding("GBK");
只要设置了请求对象中的数据编码表,那么String name=request.getParamter("user");那么name的值是直接解码以后的正确数据。
注意:为什么GET方法用setCharacterEncoding("GBK");就不行呢?
因为该方法只对请求体中的数据进行解码,不对请求头中的数据进行解码。
综上所述:以后在进行表单数据提交时,建议使用POST提交。
- post提交和get提交的区别
- post提交和get提交的区别
- GET提交和POST提交的区别
- get提交和post提交的区别
- get提交和post提交的区别
- get提交和post提交的区别
- get提交和post提交的区别
- 表单提交get和post的区别
- 提交数据get和post的区别
- get和post提交数据的区别
- get和post提交的区别
- GET和POST提交方法的区别
- post提交和get提交区别
- 表单的get提交和post提交区别
- post 提交 和 get 提交的区别 文件上传
- 浅谈post提交和get提交方式的区别
- get提交方式和post提交方式的区别
- Servlet中关于get提交和post提交的区别
- Java集合类详解
- 轻松解决oracle11g 空表不能 exp 导出 的问题
- SQL Server 2005 安装图解(图文详解+全程截图)
- 户外夜骑注意事项
- Pycharm的运行应用
- GET提交和POST提交的区别
- 局部图像特征描述概述 by 樊彬
- Hadoop如何计算map数和reduce数
- 无限级联动
- [Java] 数组-02 初始化与length
- ora-01940 无法删除当前连接用户
- 查找各类增强代码的程序(包括BADI,BTE,EXIT,PROG)
- 汉化 boost 文档boost-doc-zh
- Android的一些动画集合以及LayoutAnimation的一些用法