`
gaoyu
  • 浏览: 273375 次
  • 来自: 云南大理
社区版块
存档分类
最新评论
阅读更多
一、 在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:

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

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

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

代码

<!--两个Form只有Method属性不同-->

<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 %>

通过get方法传递来的字符串是: “<B><%= Request.QueryString(“Text”) %></B>“<BR>

<% End If %>

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

通过Post方法传递来的字符串是: “<B><%= Request.Form(“Text”) %></B>“<BR>

<% End If %>



说明

把上面的代码保存为getpost.asp,然后运行,首先测试post方法,这时候,浏览器的url并没有什么变化,返回的结果是:

通过Post方法传递来的字符串是: "Hello World"

然后测试用get方法提交,请注意,浏览器的url变成了:

http://localhost/general/form/getpost.asp?Text=Hello+World

而返回的结果是:

通过get方法传递来的字符串是: "Hello World"

最后再通过post方法提交,浏览器的url还是:

http://localhost/general/form/getpost.asp?Text=Hello+World

而返回的结果变成:

通过get方法传递来的字符串是: "Hello World"

通过Post方法传递来的字符串是: "Hello World"

提示

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

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

2、 其他人可以访问客户的这台机器。

那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。

建议 :在Form中,建议使用post方法。

二、<form action="" method="post">刷新时会弹出提示框,问是否重新发送请求,若改为method=get则不会有该提示,以下是post和get的一些区别


post请求无长度限制(至少是理论上的)

get有长度限制,最长不超过2048字节(1024个汉字)



三、还记得Request.QueryString()吗,只要是用get传递值,那么都会跟在http请求的串后面!可以试试!而post则不会在http请求串的后面,而是在请求的最后面!而且看不见的,一般密码可一定得这样传了,否则在地址栏里可以直接看见!!(虽然都不加密)

还有就是post传的内容多一些

再就是一般的用IIS过滤器的只接受get参数,这就是为什么那些大型搜索引擎后面都是一大堆的内容了,因为post不能发过去,只能用get。看看Goole或是yahoo等知道了!



四、表单提交中get和post方式的区别归纳如下几点:

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

2.  get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

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

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

5.  get安全性非常低,post安全性较高。

Get 和 Post 的区别( jsp)

Get 和 Post 的区别好像比我想象中的大,最近在使用 Tomcat 进行开发的过程中至少发现两点:


一、这两者传递参数时所用的编码不一定是一样的。在 Tomcat 中似乎 Get 的编码方式是根据页面中指定的编码方式,而 Post 则是一直使用同一种编码方式,可在 Tomcat 的 server.xml 中配置。


二、使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。


所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

他们传递参数的时候编码不一样,get方式不进行编码直接进行传递,所以别人可以看见你的传递内容(当然可以采取措施避免用户看到内容,比如用Javascript动态组织URL),post方式是经过编码传输的,而且不存在特殊字符传递出错问题



  • 描述: 敏而好学
  • 大小: 35.8 KB
分享到:
评论

相关推荐

    Ajax中get和post区别

    "Ajax中Get和Post请求的区别" Ajax作为异步JavaScript和XML的简写,是一种创建交互式网页的技术。其中,Get和Post是两种常用的HTTP请求方法,尽管它们都是用于将数据从客户端发送到服务器端,但是它们之间存在着很...

    C# 使用Get和Post请求获取数据

    在IT行业中,C#是一种广泛使用的编程语言,特别是在开发Windows应用程序、Web服务和游戏等领域。在Web开发中,与服务器进行交互的一个...通过理解和熟练掌握GET和POST请求的使用,可以更高效地开发和维护Web应用程序。

    VB6Get和POST请求异步处理请求

    在提供的压缩包文件"VB6 XMLHTTP_Get_POST"中,可能包含了一些示例代码或教程,这些资源可以帮助你更深入地理解和应用异步GET和POST请求。通过学习和实践这些示例,你可以熟练地在VB6中处理网络请求,避免UI卡死问题...

    C#实现HTTP GET和POST 样例代码

    本文将深入探讨如何使用C#编程语言来实现HTTP GET和POST请求,以供学习者参考。 GET和POST是HTTP协议中最常见的两种请求方法。GET用于获取资源,而POST则常用于提交数据。 **HTTP GET方法** GET请求通常用于获取...

    get 和post 实例

    首先,GET和POST的主要区别在于它们处理数据的方式: 1. **GET**:在URL中携带参数,所有数据都显示在URL上,因此是可缓存、可书签的。但是,由于URL长度限制,GET方法传递的数据量有限,通常不超过2KB。GET请求被...

    ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求示例代码.zip

    本示例代码着重展示了如何使用ASHX来处理GET和POST请求,这在构建RESTful API或实现异步数据通信时非常常见。 首先,让我们了解GET和POST请求的基本概念。GET请求通常用于获取资源,是幂等的,意味着多次发送相同的...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    GET和POST请求是HTTP协议中最常见的两种请求方法。GET请求用于获取服务器上的资源,而POST请求则常用于向服务器提交数据,比如表单数据或上传文件。 1. GET请求:HttpClientUtil中的GET方法通常会创建一个HttpGet...

    VBS的函数集-读写二进制文件,UTF8文件,HTTP GET和POST

    VBS函数集-读写二进制文件、UTF8文件、HTTP GET和POST 本资源是一个VBS函数集,提供了一系列功能强大且实用的函数,涉及到二进制文件读写、UTF-8文件读写、HTTP GET请求、HTTP POST请求、Base64编码解码等功能。...

    纯C语言写的https模拟GET和POST

    纯C语言写的https客户端,支持http及https的模拟GET和POST提交, 最大优势在于不依赖其他任何库(比如openssl库),并且支持window,linux等多平台,因此get及post效率较高,可移植性很好。 本次上传的是vc6下的完整...

    Android 通过get和post方法访问网络demo

    此demo演示android通过get和post请求方法同服务器交互,测试需要tomcat,具体参考 http://blog.csdn.net/youmingyu/article/details/52524538

    vb6用的xmlhttp模块,get和post方式提交数据,异步获取,不卡死,十分好用

    这个标题提到的"vb6用的xmlhttp模块"实际上是指使用VB6(Visual Basic 6)编程时,通过XMLHTTP组件进行GET和POST请求,以实现异步的数据提交和获取,避免程序卡死的情况。这种技术对于创建网络投票程序、信息采集...

    https的get和post请求,去除ssl校验的java工具类

    java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。

    表单提交中get和post的区别

    例如,假设我们有一个表单,包含一个文本框,名称为“Text”,那么在get方式中,提交的URL将是“getpost.asp?Text=http://leewei.blogchina.com”。而在post方式中,表单内各个字段与其内容将被放置在HTML HEADER内...

    MFC的HttpClient的Get和Post方法

    本文将详细讲解如何在MFC中利用HttpClient进行GET和POST操作。 首先,我们需要理解HTTP协议的基本概念。HTTP(超文本传输协议)是一种应用层协议,用于在Web上交换各类数据。GET和POST是HTTP请求中最常见的两种方法...

    Web应用安全:HTTP协议GET和POST的使用区别实验.docx

    ### Web应用安全:HTTP协议GET和POST的使用区别实验 #### 实验背景及目标 本实验旨在通过实际操作深入理解HTTP协议中POST方法的工作机制及其与GET方法的区别。实验将利用Firefox浏览器的Firebug插件以及Wireshark...

    Http协议中POST和GET方法的本质区别

    HTTP中的POST和GET方法是两种最常用于网页开发的数据传输方式,它们在原理和表现形式上存在本质区别。 首先,从原理上看,GET方法通常用于获取资源信息,它通过URL来传递参数,URL全称为资源描述符,表示网络上的一...

    java web学习_浅谈request对象中get和post的差异

    摘要:本文将对 Java Web 中 Request 对象中 GET 和 POST 方法的差异进行分析和比较,通过代码示例和输出结果,展示 GET 和 POST 方法的不同之处,并分析其优缺点。 GET 方法和 POST 方法都是服务器的请求方式,...

    Web应用安全:HTTP协议GET和POST的使用区别.pptx

    在Web应用安全中,正确使用GET和POST能有效防止一些攻击,比如跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。GET请求因为其可被轻易构造,容易受到CSRF攻击,而POST请求通常需要用户交互,相对更安全。同时,了解这些...

    Express获取get和post传过来的参数

    总结,Express通过`req.query`和`req.body`提供了一种直观的方式来获取GET和POST请求的参数。在实际项目中,我们还需要根据Content-Type正确配置中间件,如`body-parser`和`multer`,以便正确解析不同类型的POST请求...

Global site tag (gtag.js) - Google Analytics