提交表单时GET POST 区别详解.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:2 大小:27KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

提交表单时GET POST 区别详解.doc

提交表单时GETPOST区别详解.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

提交表单时GETPOST区别详解提交表单时GETPOST区别详解2010-12-091543GETPOST区别详解1、Get是用来从服务器上获得数据而Post是用来向服务器上传递数据。2、Get将表单中数据的按照variablevalue的形式添加到action所指向的URL后面并且两者使用ldquordquo连接而各个变量之间使用ldquordquo连接Post是将表单中的数据放在form的数据体中1、Get是用来从服务器上获得数据而Post是用来向服务器上传递数据。2、Get将表单中数据的按照variablevalue的形式添加到action所指向的URL后面并且两者使用连接而各个变量之间使用连接Post是将表单中的数据放在form的数据体中按照变量和值相对应的方式传递到action所指向URL。3、Get是不安全的因为在传输过程数据被放在请求的URL中而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中然后放在某个地方这样就可能会有一些隐私的信息被第三方看到。另外用户也可以在浏览器上直接看到提交的数据一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。4、Get传输的数据量小这主要是因为受URL长度限制而Post可以传输大量的数据所以在上传文件只能使用Post当然还有一个原因将在后面的提到。5、Get限制Form表单的数据集的值必须为ASCII字符而Post支持整个ISO10646字符集。默认是用ISO-8859-1编码6、Get是Form的默认方法。以下的比较非常非常使用做java的web开发有段日子了有个问题老是困扰着我就是乱码问题基本上是网上查找解决方案网上资料真的很多都是一大堆的介绍如何解决此类的乱码问题但是没几个把问题的来龙去脉说清楚的有时候看了些文章后以为自己懂了但是在开发中乱码问题又像鬼魂一样出来吓人真是头大了这篇文章是我长时间和乱码做斗争的一些理解的积累还希望有更多的朋友给出指点和补充。form有2中方法把数据提交给服务器get和post分别说下吧。一get提交1.首先说下客户端浏览器的form表单用get方法是如何将数据编码后提交给服务器端的吧。对于get方法来说都是把数据串联在请求的url后面作为参数如很常见的一个乱码问题就要出现了如果url中出现中文或其它特殊字符的话如/servletmsg杭州服务器端容易得到乱码url拼接完成后浏览器会对url进行URLencode然后发送给服务器URLencode的过程就是把部分url做为字符按照某种编码方式如utf-8gbk等编码成二进制的字节码然后每个字节用一个包含3个字符的字符串xy表示其中xy为该字节的两位十六进制表示形式。我这里说的可能不清楚具体介绍可以看下java.net.URLEncoder类的介绍在这里。了解了URLencode的过程我们能看到2个很重要的问题第一需要URLencode的字符一般都是非ASCII的字符笼统的讲再通俗的讲就是除了英文字母以外的文字如中文日文等都要进行URLencode所以对于我们来说都是英文字母的url不会出现服务器得到乱码问题出现乱码都是url里面带了中文或特殊字符造成的第二URLencode到底按照那种编码方式对字符编码这里就是浏览器的事情了而且不同的浏览器有不同的做法中文版的浏览器一般会默认的使用GBK通过设置浏览器也可以使用UTF-8可能不同的用户就有不同的浏览器设置也就造成不同的编码方式所以很多网站的做法都是先把url里面的中文或特殊字符用javascript做URLencode然后再拼接url提交数据也就是替浏览器做了URLencode好处就是网站可以统一get方法提交数据的编码方式。完成了URLencode那么现在的url就成了ASCII范围内的字符了然后以iso-8859-1的编码方式转换成二进制随着请求头一起发送出去。这里想多说几句的是对于get方法来说没有请求实体含有数据的url都在请求头里面之所以用URLencode我个人觉的原因是对于请求头来说最终都是要用iso-8859-1编码方式编码成二进制的101010.的纯数据在互联网上传送如果直接将含有中文等特殊字符做iso-8859-1编码会丢失信息所以先做URLencode是有必要的。2。服务器端tomcat是如何将数据获取到进行解码的。第一步是先把数据用iso-8859-1进行解码对于get方法来说tomcat获取数据的是ASCII范围内的请求头字符其中的请求url里面带有参数数据如果参数中有中文等特殊字符那么目前还是URLencode后的XY状态先停下我们先说下开发人员一般获取数据的过程。通常大家都是request.getParametername获取参数数据我们在request对象或得