HTML(5),CSS(3),JavaScript,DOM,Ajax,JSON,Front-end technologies & Yaohaixiao

热门标签:JavaScript Performance 前端开发 前端性能优化 原创


Home » Frontend » Performance » 前端性能优化:Use GET for AJAX Requests

前端性能优化:Use GET for AJAX Requests

今天要介绍的YSlow前端性能优化规则是:Use GET for AJAX Requests(使用GET方式发送Ajax请求)。



The Yahoo! Mail team found that when using XMLHttpRequest, POST is implemented in the browsers as a two-step process: sending the headers first, then sending data. So it’s best to use GET, which only takes one TCP packet to send (unless you have a lot of cookies). The maximum URL length in IE is 2K, so if you send more than 2K data you might not be able to use GET.

使用 XMLHttpRequest对象,使用POST方式发送数据有2个步骤:首先是发送信息头包信息,然后才是发送正式的数据。而使用GET方式请求数据,则只需要发送一次的TCP数据包(除非数据中包含很多的cookie数据)。在IE浏览器中URL的最大值为2K,大于2K的数据时,则需要其他方式发送数据。

简单地的说,就是使用GET方式获取(发送)数据时,URL的地址小于2K,那么使用GET方式发要比POST方式快。而我们通常的Ajax请求的URL地址数据一般都不会超过2K,所以YSlow建议我们 Use GET for Ajax Requests


An interesting side affect is that POST without actually posting any data behaves like GET. Based on the HTTP specs, GET is meant for retrieving information, so it makes sense (semantically) to use GET when you’re only requesting data, as opposed to sending data to be stored server-side.

根据HTTP规范,GET 方式是用来获取信息的,因此使用GET方式从服务器端获取数据(语义)更有道理。虽然Ajax请求的数据很小,但是更快的GET相应,带来的用户体验的提升是我们前端工程师应该努力最求的,所以在使用Ajax从服务器获取数据是,使用 GET请求——Use GET for Ajax Requests。

声明:本文采用BY-NC-SA协议进行授权。转载请注明转自:前端性能优化:Use GET for AJAX Requests

« »


电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(Spamcheck Enabled)