1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来
2.使用Get请求发送数据量小,Post请求发送数据量大
3.get请求需注意缓存问题,post请求不需担心这个问题
4.post请求必须设置Content-Type值为application/x-form-www-urlencoded
5.发送请求时,因为get请求的参数都在url里,所以send函数发送的参数为null,而post请求在使用send方法时,却需赋予其参数
在客户端使用get请求时,服务器端使用Request.QueryString来获取参数,而客户端使用post请求时,服务器端使用Request.Form来获取参数.
关于服务器端获取数据,我们还可以使用一个通用的获取参数的方式即Request["username"],最好使用HttpWatch来观察一下当使用get和post方式发送请求时,客户端究竟发送了什么,收到了什么.get请求是带着参数的,post请求的url则不带.因为访问的是同一个服务器,所以从服务器获取的信息都是一致的.但是客户端发送的就不一样了.从cache可以看出,get请求在发送后,即被缓存,而post请求时 never cached.因为get请求的参数是在url中的,所以Query String中是有值的.而post请求则没有.在Post Data里,因为get请求的字符串是在url中附带的,所以Post Data中无数据,从服务器获取的内容都是一致的.在使用Request时,其会从QueryString,Form,ServerVariable中遍历一番,如果发现符合要求的数据,那么就会停止向后搜寻.所以,我们上例中获取的username实际上都是url中的username值.
总的来说:
1、Get请求的目的是给予服务器一些参数,以便从服务器获取列表
2、Post请求的目的是向服务器发送一些参数,例如form中的内容.
|