0 Comments

通过浏览器渲染过程来进行前端优化(2)

发布于:2013-10-25  |   作者:广州网站建设  |   已聚集:人围观

解决方案

服务端:方式比较多,可以从架构上说(这个内容太多了,什么负载均衡了,什么缓存了,什么主从了),但是今天主要讨论语言层面。

我们可以使用逐步返回内容的方式,输送数据给浏览器,如我们可以使用php的flush,把整个head部分,半个body加一部分div返回给浏览器,进行渲染,然后把其他部分逐步输送到浏览器。

我们可以在服务端使用多线程或多进程的方式并发去进行数据处理。如php常见的
广州网站建设,网站建设,广州网页设计,广州网站设计


  1. do {  
  2. $mrc = curl_multi_exec($mh, $active);  
  3. }while($mrc==CURLM_CALL_MULTI_PERFORM);  
  4. while ($active && $mrc == CURLM_OK){  
  5. if (curl_multi_select($mh) != -1){  
  6. do {  
  7. $mrc = curl_multi_exec($mh,$active);  
  8. }while($mrc==CURLM_CALL_MULTI_PERFORM);  
  9. }  

或者


  1. <?php  
  2. while (count($sockets)) {  
  3.     $read = $write = $sockets;  
  4.     $n = stream_select($read,$write$e$timeout);  
  5.     if ($n > 0) {  
  6.         foreach ($read as $r) {  
  7.             $id = array_search($r$sockets);  
  8.             $data = fread($r, 8192);  
  9.             if (strlen($data) == 0) {  
  10.                 fclose($r);  
  11.                 unset ($sockets[$id]);  
  12.             }else {  
  13.                 $retdata[$id] .= $data;  
  14.             }     
  15.         }     
  16.         $retdata[$id] = preg_replace('/^HTTP(.*?)\r\n\r\n/is',<em>, $retdata[$id]);</em>  
  17.             foreach ($write as $w) {  
  18.                 if (!is_resource($w))continue;  
  19.                 $id = array_search($w$sockets);  
  20.                 fwrite($w"GET /" . $url[$id] . "HTTP/1.0\r\nHost: " . $hosts[$id] ."\r\n\r\n");  
  21.                 $status[$id] = 1;  
  22.             }     
  23.     }else {  
  24.         break;  
  25.     }     

JavaScript:

1、把脚本进行压缩(移除不必要的字符,注释以及空行)。

2、对部分js文件进行合并,以减少http的请求个数,以减少服务器端的压力——但是要量力而行,因为如果你的js文件很大,下载很慢的话,很多功能都不能正常进行,我们可以按照业务进行合并。

3、使用外部js文件。因为现在很多浏览器都有缓存,明显会减少http请求数。

4、将脚本放在页面底部。先让用户看到内容,然后再加载js,这样用户会感觉页面加载速度很快。

CSS:

1、合并多个css文件,以减少http的请求个数,以减少服务器端的压力。
广州网站建设,网站建设,广州网页设计,广州网站设计

2、使用外部css文件。主要原因是浏览器缓存,以减少http请求。

3、放在页面顶部(head标签处),防止出现“无样式内容的闪烁”。

原文链接:http://www.cnblogs.com/baochuan/archive/2012/05/29/2524694.html

标签:
飞机