YSLOW性能测试前端调优23大规则(14)AJAX使用Get请求

前端优化
当AJAX将客户端请求发送到服务器时,我们会使用XMLHttpRequest对象的open()和send()方法。

open(method,url,async)

例:xmlhttp.open(“GET”,“chuansinfo.txt”,true)

send(string);

例:xmlhttp.send();

其实中method是指请求类型,通常我们的请求类型有两种:GET和POST。

在我们分析AJAX中到底是使用GET请求还是POST请求之前,我们必须先确定GET与POST的区别,GET与POST请求区别见表。
GET与POST请求区别见表
GET请求会将数据添加到URL中,通过这种方式发送到服务器,通常会使用“?”代表URL地址的结尾与参数的开端,后面接的参数格式为“名称=值”,如果有多个参数,那么参数与参数之间使用“&”来区分。

POST请求是将数据放在HTTP HEADER中,其组织方式可以是“&”连接方式,也可以是分割符方式,并且参数是可隐藏的,相比于GET请求,POST请求发送大量数据会更方便。

但是我们不建议使用AJAX发送大量数据,因为这样不能节约时间,花费的时间会很长,我们建议将大量数据分成多个只传递少量数据的AJAX调用,这样可以提高性能。

所以我们不能单纯的通过发送数据量的大小来决定是使用GET还POST,而应该按到目的来选择,如果调用是要检索服务器上的数据则使用GET。如果检索的值会随时间和更新进程的改变而改变,则要在GET调用中添加一个时间参数,这样再次调用时就不会浏览器缓存中的数据而导致访问的信息出错,因为GET请求会在浏览器中进行缓存。当然如果发送的数据是任意的数据,那么可以使用POST请求。

雅虎邮箱团队发现一个现象,在使用XMLHttpRequest对像发送请求时,POST在浏览器中会分成两步来实现:首先发送头文件,然后再发送数据。所以最好使用GET,这样可以节约一些时间,因为GET只需要一个TCP数据包发送(除非有很多的cookie)。IE中最大的URL长度是2K,所以如果你发送的数据超过2K,你可能无法使用GET,当能可以分成多个少量数据的请求进行发送。

所以一般我们建议在使用AJAX发送请求时,我们通常使用GET发送请求信息。除非请求需要修改存储中的数据,如添加、更新、删除,或者是以其他方式更改服务器的状态,如创建文件等,这种情况下则使用POST请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值