免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5033 | 回复: 2
打印 上一主题 下一主题

get与Post... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-19 21:54 |只看该作者 |倒序浏览
关于get和post

对于servlet新手来说,选择doGet还是 doPost,这里有篇文章.
用什么方法把表单中的数据传递给服务器进行处理呢?有两种方法,post和get.

如果采用post,浏览器将会按下面两步来传递数据。首先浏览器建立和action属性中指定的表单处理服务器的连接,一旦建立起该连接,浏览器就会按分段传输的方法将数据传递给服务器。

在服务器端,一旦应用程序开始执行,它们会从一个标准的地方来读取参数。而一旦读到数据,在应用程序能够处理这些表单数据以前,这些数据必须要解码,服务器会指明应用程序期望如何受到这些参数和依据。

另外一种情况是采用get方法。浏览器会建立和标单处理服务器的连接,然后直接在一个传输步骤中.发送所有的表单数据。浏览器会将数据直接附在表单的action url之后,同时两者中间用问号来分割。
一般浏览器都会用上述任何一种方法来传输表单信息,而一些网络服务提供商只接受一种或另一种方法提供的数据。可以在<form>;标签的method属性中设置表单处理服务器用什么方式来处理数据,post或是get.

您该如何选择:
        如果想获得比较好的表单传输性能,对只有几个字段的那些小表单,采用get。
       
        由于一些server的OS会限制命令行参数的数量和长度,而这些参数会直接传给应用程序,在这种情况下,对那些有许多字段或是有很长的文本内容的表单来说,应采用post。
       
        由于post需要解码,所以不推荐新手使用。

        如果安全性很重要,那么请使用post方法.get将表单直接放在url上会造成一些信息的泄露。而post就没有问题.

        如果想在表单外调用包括给表单传递参数这样的server端的应用程序的话,采用get吧。因为这允许把表单这样的参数包括进来作为url的一部分。而另一方面,post方法的应用程序在url后却希望还能有一个来自浏览器的独特的传输过程,传输一些在传统<a>;标签下不能做的东西 。

        如果有不详细的,请高手补充,谢谢.

论坛徽章:
0
2 [报告]
发表于 2004-04-20 09:07 |只看该作者

get与Post...

不说原理了,说说我的使用感觉。

我在用post和get方式传递一般文本表单的时候没发现什么使用上的差别。
我一般都会统一成一个方法来处理。

post没有传输大小上的限制。对传输的数据稍微安全一点,浏览器的地址栏看起来干净一些。


当然如果你要在form中传递二进制数据(比如要上传附件)肯定要用post方式。

论坛徽章:
0
3 [报告]
发表于 2004-04-20 10:38 |只看该作者

get与Post...

恩,谢谢楼上高手补充。
一般是没什么区别的,get适合安全性稍微差点,提交一些简单的表单信息,而post则适合传送数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP