前言
不论是Get请求还是Post请求,都是浏览器向服务器请求响应的一种方式,那么它们有什么不同呢?
Get请求和Post请求的区别
1. 首先从字面意思上
Get的意思是“得到,获取”,Post的意思是“推送”。所以可见如果是Get方式,即浏览器向服务器请求得到一些数据;如果是Post方式,就是浏览器主动向服务器推送数据。
2. 传送数据的方式不同
Get方式会直接将参数放在URL地址的后面,用户可以直接看的见,而且Get方式,由于浏览器的不同,允许传送最大数据量的大小也不同,一般都是2KB
Post方式传送数据时,会将数据放在http报文的请求体中,用户是看不见的,而且理论上传送的数据量大小没有限制。
所以相对来说,Post方式要比Get方式更安全一些。
3. 后台接收数据的方式不同
//Get方式
contxt.Request.QueryString["txtname"];
//Post方式
context.Request.Form["txtname"];
什么时候用Get,什么时候用Post
一般情况下,我们都是用Post方式。因为Get方式传送的数据量有限而且不安全,如果我们传送的数据量比较大,用Get方式显然不合适;而且像向服务器提交敏感数据时,比如密码等用Get也不合适。所以我们一般用Post方式。
下面举两个例子来说明这两种方式的使用场合:
比如向服务器提交密码等,就要用Post方式;如果是搜索结果页面,就要用Get方式,因为有时候我们要把结果分享给其他人,这时候用Post就不合适了,因为Post方式会将参数放在请求体中,这样就无法分享给别人指定的页面了。
哪些是Get请求,哪些是Post请求
直接在浏览器中输入URL地址,或者点击超链接等都是Get方式。
而Post只有一种方式,就是将表单中的 method 属性改为 post。
了解了相应的请求方式 ,我们在后台写代码来接收数据时,就要注意了,因为它们接收参数的方式不同。