您的位置:首页 > 理论基础 > 计算机网络

jsp servlet HTTP Get与Post的区别

2014-03-08 21:22 423 查看
表单提交中Get和Post方式的区别有4点

1. get是从服务器上获取数据,post是向服务器传送数据。

2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。get安全性非常低,post安全性较高。

HTTP请求:GET与POST方法的区别

所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。 比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。

在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:

1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。

2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。

仔细研究下面的代码。你可以运行之来感受一下:

<FORM ACTION=“getpost.asp” METHOD=“get”>

<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

<INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT>

</FORM>

<BR>

<FORM ACTION=“getpost.asp” METHOD=“post”>

<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

<INPUT TYPE=“submit” VALUE=“Method=Post”></INPUT>

</FORM>

<BR>

<BR>

<% If Request.QueryString(“Text”) <> ““ Then %>

字符串是: “<B><%= Request.QueryString(“Text”) %></B>“<BR>

<% End If %>

<% If Request.Form(“Text”) <> ““ Then %>

字符串是: “<B><%= Request.Form(“Text”) %></B>“<BR>

<% End If %>

提示

通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果:

1、 登陆页面可以被浏览器缓存;

2、 其他人可以访问客户的这台机器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: