都知道GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.但具体区别呢?可以互换吗?
主要区别有:1传输数据的方式不同,2传输的数据多少不同,3传输数据的安全性不同4,后台获取数据的方式不同
1传输数据的方式不同
GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如http://www.baidu.com/s?word=http&tn=sitehao123&ie=utf-8
POST方法是把提交的数据放在HTTP包的Body中,没有在URL中体现
由于get自己可以控制传输的数据,性能稍微好点,而post会提交form标签中所有的input标签中的数据。
2传输的数据多少不同
GET的传输方式是通过url,但由于浏览器对url的限制,导致 GET传输的数据很有限,最好不好超过1024个字符。
POST的传输方式没有限制
3传输数据的安全性不同
GET的传输方式是通过url,传输的数据都显示在url中,可以很清楚的看到传输的数据,可能导致安全问题
POST的传输方式就相对安全很多
4后台获取数据的方式不同
在asp.net中,get的后台的获取方式为Request.QueryString,post的获取方式为Request.Form
知道了区别就容易区分在什么情况下该使用get,post
一般来说,后台是简单的查询时,而且安全性要求不高时,可以使用get,例如用户登录,就不应该使用get
后台是更新插入操作应该使用post,当然在数据量很小时,如果对安全性要求也不高时也可以使用get
在传递的参数很明确时,可以使用get,毕竟传输的数据量很小,相反如果传递的参数数量经常变动,建议使用post,当然了数据很大时也只能选择post。