提交方式post和get有什么区别?

提交方式post和get有什么区别?

 

(1)post是向服务器传送数据;get是从服务器上获取数据。

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

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

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

例如:get 提交Request.QueryString["aa"].ToString();

post 提交用 Request.Form["aa"].ToString();

(4)get可以传送的数据量则非常小,只能有1024字节,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

(5)安全性问题。正如在(1)中提到,使用 get 的时候,参数会显示在浏览器地址栏上,而 post 不会。

 

建议:

1、get方式的安全性较post方式要差些,但是执行效率却比post方法好。

如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,包含机密信息的话,建议用post数据提交方式为好;

2、在做数据查询时,建议用get方式;而在做数据添加、修改或删除时,建议用post方式;

总结:(简答)

(1)get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中;

(2)使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”,而get则不会;

(3)用get的页面可以被搜索引擎抓取,而用post的则不可以;

(4)用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2k),受限于网页地址的长度。

(5)用post可以进行文件的提交,而用get则不可以。

 

你可能感兴趣的:(ASP.NET网站开发,post,get)