Get和Post的提交方式

来源:互联网 发布:创冰 足球球员数据 编辑:程序博客网 时间:2024/04/30 02:12

 

表单提交方式——get、 post

是表单属性Method的可选值,Method的默认值为get。

get是从服务器上获取数据的请求,post是向服务器传送数据的请求?

 

区别:

1、服务器端获取数据的方式不同。

get方式传递的数据,必须用request.querystring("")获取。

post方式传递的数据,必须用request.form("")获取。

 

2、get安全性非常低,post安全性较高。

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

post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。


比如说在登陆表单中用get方式,用户输入的用户名和密码将在地址栏中显示。

如果:登陆页面可以被浏览器缓存,其他人可以访问客户的这台机器。

那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。

get方法会带来严重的安全性问题,对于敏感数据和不是中文字符的数据,建议使用post方法。


3、post比get传递数据量大。

get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。

 

ID的url长度是有限制的,当url过长时会自动截取超长字符。这样就容易引发一个问题:当传递的参数过多,导致url过长时,url自动截取超长字符,最终传递参数部分获取不到。

解决:只要换成post请求就可以了

 

使用场景:

1)浏览器使用get方式发请求的场景:

     a,直接在浏览器地址栏输入某个地址

     b,点击链接

     c,表单默认的提交方式

2)浏览器会使用post方式发请求的的场景

     设置了表单的method="post"。

 

另:

如果要检索的值会随时间和更新进程的改变而改变则要在GET调用中添加一个当前时间参数,这样后面的调用才不会使用先前的不正确的缓冲。

如果调用是向服务器上发送任意数据,就可以使用POST

  

http://zljpp.iteye.com/blog/1558061



0 0
原创粉丝点击