get和post请求的区别t

HTTP 方法:GET 对比 POST
HTTP 方法:GET 对比 POST
两种最常用的 HTTP 方法是:GET 和 POST。
什么是 HTTP?
超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。
HTTP 的工作方式是客户机与服务器之间的请求-应答协议。
web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。
举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2
有关 GET 请求的其他一些注释:
GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
POST /test/demo_form.asp HTTP/1.1
name1=value1&name2=value2
有关 POST 请求的其他一些注释:
POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求
比较 GET 与 POST
下面的表格比较了两种 HTTP 方法:GET 和 POST。
后退按钮/刷新
数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
可收藏为书签
不可收藏为书签
application/x-www-form-urlencoded
application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
参数保留在浏览器历史中。
参数不会保存在浏览器历史中。
对数据长度的限制
是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。
对数据类型的限制
只允许 ASCII 字符。
没有限制。也允许二进制数据。
与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。
在发送密码或其他敏感信息时绝不要使用 GET !
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
数据在 URL 中对所有人都是可见的。
数据不会显示在 URL 中。
其他 HTTP 请求方法
下面的表格列出了其他一些 HTTP 请求方法:
与 GET 相同,但只返回 HTTP 报头,不返回文档主体。
上传指定的 URI 表示。
删除指定资源。
返回服务器支持的 HTTP 方法。
把请求连接转换到透明的 TCP/IP 通道。Posts - 84,
Articles - 54,
Comments - 626
14:51 by hyddd, ... 阅读,
  Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
  1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
  (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
  * 注意:这里安全的含义仅仅是指是非修改信息。
  (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下幂等这个概念:
  幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。  幂等有一下几种定义:  对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。  对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x)&=&x。
看完上述解释后,应该可以理解GET幂等的含义了。
  但在实际应用中,以上2条规定并没有这么严格。引用别人文章的例子:比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。
  2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求。继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。
  上面大概说了一下HTTP规范中GET和POST的一些原理性的问题。但在实际的做的时候,很多人却没有按照HTTP规范去做,导致这个问题的原因有很多,比如说:
  1.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。
  2.对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。
  3.另外一个是,早期的Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计,所以导致一个比较严重的问题是传统的Web MVC框架基本上都只支持GET和POST两种HTTP方法,而不支持PUT和DELETE方法。
&  * 简单解释一下MVC:MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
  以上3点典型地描述了老一套的风格(没有严格遵守HTTP规范),随着架构的发展,现在出现REST(Representational State Transfer),一套支持HTTP规范的新风格,这里不多说了,可以参考《RESTful Web Services》。
  说完原理性的问题,我们再从表面现像上面看看GET和POST的区别:
  1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
  POST把提交的数据则放置在是HTTP包的包体中。
  2."GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据,IIS4中最大为80KB,IIS5中为100KB"??!
  以上这句是我从其他文章转过来的,其实这样说是错误的,不准确的:
  (1).首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
  注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。[见参考资料5]
  (2).理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说&POST数据量存在80K/100K的大小限制&是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
  对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个限制。
  由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还需要注意:
     1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。     2).IIS 6.0默认上传文件的最大大小是4MB。     3).IIS 6.0默认最大请求头是16KB。  IIS 6.0之前没有这些限制。[见参考资料5]
  所以上面的80K,100K可能只是默认值而已(注:关于IIS4和IIS5的参数,我还没有确认),但肯定是可以自己设置的。由于每个版本的IIS对这些参数的默认值都不一样,具体请参考相关的IIS配置文档。
  3.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。在JSP中,用request.getParameter(\"XXXX\")来获取,虽然jsp中也有request.getQueryString()方法,但使用起来比较麻烦,比如:传一个test.jsp?name=hyddd&password=hyddd,用request.getQueryString()得到的是:name=hyddd&password=hyddd。在PHP中,可以用$_GET和$_POST分别获取GET和POST中的数据,而$_REQUEST则可以获取GET和POST两种请求中的数据。值得注意的是,JSP中使用request和PHP中使用$_REQUEST都会有隐患,这个下次再写个文章总结。
  4.POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的&安全&不是同个概念。上面&安全&的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。
  总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!
  纯属hyddd个人总结,如有错漏请指出。:&
参考资料:
[1]./liuzd003/blog/item/7bfecbfa6ea94ed8b58f318c.html
[2].http://www.blogjava.net/onlykeke/archive//65285.aspx
[3]./view/2067025.htm
[4]./article.asp?id=373
[5].http://blog.csdn.net/somat/archive//158707.aspx
转载请说明出处,谢谢[hyddd(/hyddd/)]详解HTTP中GET和POST的区别 | 果冻想
389 次浏览
我在《》这篇文章中,说到了处理HTML表单时用到了GET和POST方法,那么,GET和POST是两个什么东西呢?用它们处理表单又有啥区别呢?你不知道,就看这篇文章吧。对你绝对有用,不管你信不信,反正我是信了。
除了GET和POST这两种方式以后,还有哪些呢?我接下来就先对HTTP中定义的操作进行总结一下。
HTTP中定义的有哪些?
我们都知道,使用URL可以确定一个资源所在的位置,那么我们确定这个资源以后,是如何对这个资源进行处理的呢?
Http协议定义了客户端与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL定位了这个资源,而HTTP中的GET,POST,PUT,DELETE就是对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。那么,除了上面说的四种方法,HTTP还有其它方法么?其实HTTP中定义了以下几种请求方法:
HEAD方法;
POST方法;
TRACE方法;
OPTIONS方法;
DELETE方法。
现在就对上述的所有方法都介绍一下,增加大家对这些方法的一个总体认识。
Get是最常用的方法,通常用于请求服务器发送某个资源。
HEAD方法与GET方法的行为很类似,但服务器在响应中只返回实体的主体部分。这就允许客户端在未获取实际资源的情况下,对资源的首部进行检查,使用HEAD,我们可以更高效的完成以下工作:
在不获取资源的情况下,了解资源的一些信息,比如资源类型;
通过查看响应中的状态码,可以确定资源是否存在;
通过查看首部,测试资源是否被修改。
PUT方法是让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档;如果那个文档存在的话,就用这个主体来代替它。
POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。
TRACE方法会在目的服务器端发起一个“回环”诊断,我们都知道,客户端在发起一个请求时,这个请求可能要穿过防火墙、代理、网关、或者其它的一些应用程序。这中间的每个节点都可能会修改原始的HTTP请求,TRACE方法允许客户端在最终将请求发送服务器时,它变成了什么样子。由于有一个“回环”诊断,在请求最终到达服务器时,服务器会弹回一条TRACE响应,并在响应主体中携带它收到的原始请求报文的最终模样。这样客户端就可以查看HTTP请求报文在发送的途中,是否被修改过了。
OPTIONS方法用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。
DELETE方法就是请求服务器删除指定URL所对应的资源。但是,客户端无法保证删除操作一定会被执行,因为HTTP规范允许服务器在不通知客户端的情况下撤销请求。
上面对HTTP所支持的所有方法大体上进行了介绍,但是在实际开发中,我们使用的更多的是GET和POST,而且在面试的时候,也经常会问GET和POST的区别,这里就着重对GET和POST的区别进行总结。
我们的误区
我记得我上大学那会,就问过老师,GET和POST有啥区别,老师就简单的告诉我,POST比GET安全,后来,我才发现,我被老师骗了。那么,对于GET和POST我们究竟还有哪些误区呢?
误区一:POST可以比GET提交更多更长的数据?
由于使用GET方法提交数据时,数据会以&符号作为分隔符的形式,在URL后面添加需要提交的参数,有人就会说了,浏览器地址栏输入的参数是有限的,而POST不用再地址栏输入,所以POST就比GET可以提交更多的数据。难道真的是这样的么?
而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
同时,POST是没有大小限制的,HTTP协议规范也没有进行大小限制。POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
总归一句话,这个限制是针对所有HTTP请求的,与GET、POST没有多少关系。
误区二:POST比GET安全?
首先,我们要承认安全的概念有很多种,要是从最基本的肉眼看到就不安全,肉眼看不到那就是安全的概念说呢,GET确实没有POST安全,毕竟小白用户确实可以看到在URL中带有的数据信息,这个你无法狡辩。那么要是往严谨了说呢,POST是不是要比GET安全呢?其实不是的。
上面也说了,GET将提交到服务器的数据添加到URL中了,可见;虽然POST的数据,你肉眼看不到,你抓个包看看,在HTTP包的包体中,我们提交的数据时仍然可见的;所以说,从这方面来说,POST也是以五十步笑百步了。
抓个包看看
我们来抓个包看看,做个试验:
打开这个链接,去注册个账号;
填好注册信息;
打开Wireshare进行抓包;
在注册页面,提交注册信息。
查看抓包信息并分析,以下是我抓到的包的一些信息:
"192.168.199.125","117.121.57.62","HTTP","1304","POST /sso/signup?client_id=9&url=http://cn.cocos2d-x.org/main/sso_return HTTP/1.1
(application/x-www-form-urlencoded)"
192.168.199.125是我的本机地址;117.121.57.62是请求的目的地址。1304是包的长度;接下来的数据才是我们需要关注的重点,可以很明显的看到,是以POST的方式向服务器发送注册信息的。我们再来看看发送了那些信息,由于使用的POST方法,我们无法从URL中得到任何有用的东西,那我们就从HTTP包体中看看。内容如下:
username=JellyThink&password=e10adc3949ba59abbe56e057f20f883e&repassword=e10adc3949ba59abbe56e057f20f883e&email=&vcode=5gp8&rgpermit=1
看到了吗?里面都是我输入的信息,具体如下(以上均为测试数据):
username=JellyThink
password=e10adc3949ba59abbe56e057f20f883e(MD5码)
repassword=e10adc3949ba59abbe56e057f20f883e
vcode=5gp8(验证码)
现在你还觉POST安全吗?关于GET方式,我这里就不再举例说明了。你也赶紧动手去抓个包看看吧。
最后呢,很多时候,大家都觉的使用GET很方便,毕竟使用POST要用到Form,但是,你要知道,你使用GET方法时,浏览器可能会缓存你的地址等信息,还会留下历史记录,而对于POST方法呢,则不会进行缓存。以后在开发中,一定要分清楚GET和POST的使用场合,什么时候要使用GET,什么时候要使用POST,自己做到心中有数。
可能,你在Google类似的文章的时候,可能会看到分析POST和PUT区别的文章,这又是一类纠结的东西,更多的时候,我们分析这种东西都是分实际情景,结合设计者的语义去使用,慢慢体会吧。至少我现在也不知道如何准确的区分POST和PUT。当然了,我还是要推荐一位大牛的文章,有时间去拜读一下吧,《》。
各位,圣诞快乐。
日 于深圳。
如果你觉的我的文章还不错,对你有帮助,你可以。如果还需要别的什么帮助,请联系我。
Email:(请将#替换成@)
6 3 2 2 2 1 1 1 1 1
5135 3208 3170 2673 2368 2306 2114 2111 1715 16375、GET与POST方式发送请求参数——ajax基础笔记 - 就只会点Java - ITeye技术网站
GET与POST方式发送请求参数
getAndPostExample.html清单:
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&
&html xmlns="http://www.w3.org/1999/xhtml"&
&title&Sending Request Data Using GET and POST&/title&
&script type="text/javascript"&
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
//拼接查询参数字符串
function createQueryString() {
var firstName = document.getElementById("firstName").
var middleName = document.getElementById("middleName").
var birthday = document.getElementById("birthday").
//参数与参数之间用&分隔
var queryString = "firstName=" + firstName + "&middleName=" + middleName
+ "&birthday=" +
return queryS
//GET方式发送异步请求
function doRequestUsingGET() {
createXMLHttpRequest();
//请求一个Servlet
var queryString = "GetAndPostExample?";
//以防读取缓存页面,所以每次发送时多带一个时间参数
queryString = queryString + createQueryString()
+ "&timeStamp=" + new Date().getTime();
xmlHttp.onreadystatechange = handleStateC
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
//POST方式发送请求
function doRequestUsingPOST() {
createXMLHttpRequest();
//以防读取缓存页面,所以每次发送时多带一个时间参数
var url = "GetAndPostExample?timeStamp=" + new Date().getTime();
var queryString = createQueryString();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateC
//POST方式时还要设置以下HTTP头信息
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//POST方式时参数用send方法发送出去
xmlHttp.send(queryString);
//回调用方法
function handleStateChange() {
//状态为4时表示请求已完成
if(xmlHttp.readyState == 4) {
//表示请求的资源存在
if(xmlHttp.status == 200) {
parseResults();
//处理服务器返回结果
function parseResults() {
var responseDiv = document.getElementById("serverResponse");
//如果以前查询过,则清除以前结果
if(responseDiv.hasChildNodes()) {
responseDiv.removeChild(responseDiv.childNodes[0]);
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
&h1&Enter your first name, middle name, and birthday:&/h1&
&td&First name:&/td&
&td&&input type="text" id="firstName"/&
&td&Middle name:&/td&
&td&&input type="text" id="middleName"/&
&td&Birthday:&/td&
&td&&input type="text" id="birthday"/&
&form action="#"&
&input type="button" value="Send parameters using GET" onclick="doRequestUsingGET();"/&
&br/&&br/&
&input type="button" value="Send parameters using POST" onclick="doRequestUsingPOST();"/&
&h2&Server Response:&/h2&
&!-- 存放结果区 --&
&div id="serverResponse"&&/div&
GetAndPostExample.java清单:
package ajaxbook.chap3;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GetAndPostExample extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response, String method)
throws ServletException, IOException {
//设置响应头类型text/xml
response.setContentType("text/xml");
//获取用户输入参数
String firstName = request.getParameter("firstName");
String middleName = request.getParameter("middleName");
String birthday = request.getParameter("birthday");
//创建返回文本
String responseText = "Hello " + firstName + " " + middleName
+ ". Your birthday is " + birthday + "."
+ " [Method: " + method + "]";
//向浏览器写回响应信息
PrintWriter out = response.getWriter();
out.println(responseText);
out.close();
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//处理GET请求
processRequest(request, response, "GET");
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//处理POST请求
processRequest(request, response, "POST");
运行结果:
junJZ_2008
浏览: 734750 次
来自: 湖南澧縣
lZ为知笔记公开群组网站已经不能用了,求连接。 ...
楼主你好,有个问题小弟没有搞明白。我只访问了一次localho ...post和get传值的区别_百度知道
post和get传值的区别
从一个页面转向另一个页面的请求方式有两种,Post和Get. 如果从原理上来探究他们的区别,涉及到Http传输协议的细节,这样深究下去,就成华为人干的事了,有空可以请教一下华为高人,我一个做企业软件的实在没那么多时间也没必要去研究那些东西,所以就看一下表象吧。 所有的人都知道如下区别: 1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。 2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节. 3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。 我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点. 先来看一下post方法. 这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的ViewState,每个页面要恢复原来的状态,都要将页面Post给自身,然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被Asp.net的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。 ViewState必须包含在&form runat=&server&&的窗体下,而只要包含了&runat=&server&&的标志,就甭想Post到其他页面中去,为什么?老盖说,我的ViewState是保存当前页面状态的,你要转到其他页面,他说,不行,**不认识的参数.如果想Post一个窗体,咋办?有四种方式可供选择. 1.在页面上新建一个form,不要加上runat=&server&的标志,当然在这个窗体下的控件也就不用想用Viewstate来传值了.当在其他有runat=&server&的窗体的中的按钮事件中,手动调用新建form的submit() 函数.
其他类似问题
为您推荐:
其他2条回答
&!--html代码--& &form id=&Form1& method=&post& runat=&server&&
&input id=&btnTransfer& type=&button&
onclick=&post();& runat=&server&&
&input type=&text& runat=&server& id=&SourceData&&
&form id=&forPost& method=&post&&
&input type=&text& runat=&server& id=&SourceData2&&
&!--Script代码--& &script language=&javascript&&
function post()
forPost.action=&DestinationPage.aspx&;
forPost.submit();
&/script& 接收页面 string a=Request.Form[&SourceData2&].ToString();
1. 区别: 在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有以下几点不同: 1、Get方法通过URL请求来传递用户的输入。Get方法传递的参数和值在URL上用?name=value&name=value的形式显示。Post方法通过另外的形式。 2、通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果登陆页面可以被浏览器缓存或其他人可以访问客户的这台机器。那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。 3、显然Get方法局限性在于当要传的值很多是,就不便这样,否则URL可能超长度而出错。
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 get请求 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信