对产品质量来说,不是100分就是0分
get与post的区别
上一篇 /
下一篇 2007-11-30 11:50:08
/ 个人分类:开发
get与post的区别51Testing软件测试网E4Ic#DY&W0sI @
转自http://www.aspxuexi.com/aspbasic/responseandrequest/2006-4-9/asp_get_post.htm
l:hi G:Wr%`T*Agp1S051Testing软件测试网}.W3j9K%J/~X l.z
51Testing软件测试网d Bv#N#WA首先应该了解Form和QueryString的差异51Testing软件测试网va,lHm
通过HTTP从Web服务器请求页面或其他资源,有两个通用的方法。可使用GET方法直接获得资源,也可使用POST把值传给相应资源。GET方法是缺省的,可以看一下本章前面的一个HTTP请求的实例:
gtn{ r0 7/8/99 10:27:16 Sent GET /Store/Download.asp HTTP/1.1
-a}L yC]L0 假如把一个或多个成对的名称/值附在请求页面的URL后,就变成请求的查询字符串,且在QueryString集合中提供给ASP页面。单击Web页面、Email消息或其它文档的超链接,或在浏览器的地址栏中输入地址并按回车,或单击浏览器中的Links或Favorites按钮,所有这些都要使用GET方法。51Testing软件测试网[1nA0U0sWy;J.OLa-wfC
因此,对这些动作中传递值给ASP的唯一方法是通过QueryString集合,把值附在URL后。
2J$qX}@#DV"R
A+E ^0 出现在Request.QueryString集合中并被访问的值,与前面看到的Form集合实例中的工作方式相同。URL和查询字符串的结合:51Testing软件测试网0nZv+N#K IFi4d
http://mysite.com/process_page.asp?FirstName=Priscilla&LastName=Descartes51Testing软件测试网4yZ3gO7oOXl'Y
可以采用如下方式访问在QueryString集合中提供的值:
S m7G%B-@@"Mtg0 strFirstName = Request.QueryString("FirstName") ''Return "Priscilla"51Testing软件测试网5mbR4f!IO
strLastName = Request.QueryString("LastName") ''Return "Descartes"51Testing软件测试网m&s}AXKV(_
strRaw = Request.QueryString51Testing软件测试网+ur)F
V5c[wQ
''Return "FirstName=Priscilla&LastName=Descartes"51Testing软件测试网h(j,k4U&c$W0_/}5TNG
51Testing软件测试网@+U&TBWJ2H}
form的GET和POST方法51Testing软件测试网*f5C2Q9pM;Iy
在一个页面内使用<FORM>段时,可以设置打开的FORM标记的METHOD属性值为“GET”或“POST”,缺省值为“GET”。假如使用“GET”或省略其属性,浏览器将该值绑定在页面所有控件上,成为一个查询字符串,且附在被请求页面的URL上。
3oS[a'i0 当这个请求到达Web服务器时,其值由ASP的Request.QueryString集合提供。然而,假如设置METHOD属性为“POST”,浏览器将值包装进发送服务器的HTTP报头中,通过Request.Form集合提供给ASP。
!|$~K8K/Mh#IW0 通过来说,可以在所有的HTML窗体中使用POST方法。然而,浏览器或服务器的URL字符串长度存在一定的限制。因此,附有长的字符串可能会引起溢出和某些字符串的字符被截掉。同时,查询字符串出现在浏览器的地址栏和所有的保存的链接和收藏夹中。不仅如此,还显露了通过Web服务器时在HTTP请求中不想显示的值,它也可能出现你的服务器和其他路由服务器的日志文件中。在HTTP请求报头中的值很少是可见的,并且不出现在日志文件中。51Testing软件测试网2QF$h7Xf Ekd}
使用POST方法需要注意的小问题是,当用户重新下载<FORM>时,窗体的值将不再保留,其值为空且必须重新输入。然而,当附在URL上时,其值被存储为一个链接,将被保留,因此将出现在所有的URL与字符串结合的请求中,这或许是个优点也可能是个缺点,这根据应用而定(一些浏览器在客户端上能够在一定范围内自动保留一个页面上的值)。
7w
d
t9H$Y3F0
相关阅读:
- 开发出高性能的网站 (一) 20个客户端代码优化技巧 (pele, 2007-1-08)
- 经典编程书籍(C++, 网络, Windows, Linux) (panqy163, 2007-6-13)
- 敏捷开发和详细设计 (yukilau99, 2007-7-10)
- Tomcat+Jsp经典配置(转) (ivyhuan, 2007-8-30)
- sprintf的用法 (ivyhuan, 2007-8-30)
- apache+tomcat+mysql 负载平衡和集群『转载』 (51mobile, 2007-9-07)
- C#对Java (51mobile, 2007-9-08)
收藏
举报
TAG:
get
post
开发