Get与Post的区别
XmlHttpRequest 的 method 有两种参数 get 和post 应用方法和区别如下:
GET
描述:多个请求返回同一个结果(之前看到说只要请求是幂等的就可以用Get 完全不理解...原来就是指这个)就可以用Get方法,他把值/名对放在URL中传递,格式为:资源URL+"?"+name1+"="+value1+"&"+name2+"="+value2 ....将参数追加到URL中发送。
应用范畴:如果数据不改变数据模型的状态,HTML使用规约理论上推荐采用Get方法。
优点:便于在浏览器中建立该URL的书签,容易重新请求。(异步请求无用)
Post
描述:发送参数名时与Get基本一样,形式为name=value,名/值对之间也用"&"分隔,区别在于post方法将参数串放在请求体中发送。
应用范畴:如果因为存储,更新数据,或者发送了电子邮件,操作改变了数据模型的状态,这时建议用Post方法。
优点:更灵活,Get的发送数据量固定,根据浏览器不同有差异,而Post可以发送任意数据量。
XmlHttpRequest对象没有象form根据其method属性对input元素进行编码的行为,而要开发人员用JS创建查询串,不论使用Get还是Post,创建查询串的技术是一样的,唯一的区别是当使用Get发送时,查询串追加到URL中,而用Post时,在调用XmlHttpRequest的send()方法时发送查询串。
Addition:Jason的点睛之笔:Post and Get are all http request, the only difference is: you can edit the httpRequestHeader when you use Post method, but only ues default setting in Get method.