xác thực google maps

Code tăng tốc độ load website

Thảo luận trong 'Hỗ trợ Lập Trình, Mã Nguồn' bắt đầu bởi Mr.N2, 25 Tháng năm 2012.

Lượt xem: 109,787

  1. exvk

    exvk Dự bị

    Bài viết:
    4
    Đã được thích:
    0
    đợt trước mình cũng có làm cái này rồi
    thấy hiệu quả được hơn 1 chút
    site nhiều hình ảnh dùng cái này lưu cache thì vào nhanh hơn
    bác nào dùng wp thì chắc k cần dùng cái này :))
     
  2. starkhongsauhaikhong

    starkhongsauhaikhong Thành viên

    Bài viết:
    58
    Đã được thích:
    19
    hình như cách này cũng có trong jquery nữa thì phải. bác nào thông thạo bên ấy show lên cho ae 1 bữa đi.
    hình như nó tăng tốc độ load bằng cách load cục bộ nội dung hiển thị cho người xem thôi. ko phải lưu như cách này. cũng hay lắm
     
  3. phamnhungoctuan

    phamnhungoctuan Thành viên

    Bài viết:
    195
    Đã được thích:
    26
  4. dulichbonmua

    dulichbonmua Dự bị

    Bài viết:
    33
    Đã được thích:
    2
    mình làm trên web mà cũng không thấy nhanh hơn là mấy . nói chung vẫn phải tối ưu hóa website thôi
     
  5. Hoang_ngocduc

    Hoang_ngocduc Thành viên

    Bài viết:
    136
    Đã được thích:
    23
    Đang băn khoăn không hiểu thì có cái này cuãng hay đây, thanks
     
  6. Phan Tâm

    Phan Tâm Thành viên nhiệt tình

    Bài viết:
    749
    Đã được thích:
    196
    Nếu để ý kỹ sẽ thấy file pre.php hoàn toàn vô tác dụng vì ko một đoạn code nào trên gọi đến nó. Chẳng hiểu các bác nhìn thế nào !
     
  7. HoangtuYuzi

    HoangtuYuzi Thành viên

    Bài viết:
    69
    Đã được thích:
    9
    Tốc độ cải thiện được chút ít. Thanks bác Mr.N2 bạn hiền lâu ngày không gặp :D
     
  8. Mr.N2

    Mr.N2 Administrator Staff Member

    Bài viết:
    2,252
    Đã được thích:
    5,105
    Phát hiện của bạn rất thú vị, phải nói là trong 72 bình luận trước bạn, thì đây chính là bình luận mình mong đợi nhất. Tập tin pre.php trong bộ code này hoàn toàn vô nghĩa, khi nó không thực thi được nhiệm vụ của mình được. Khi viết bài này, mình cố tình public code lên mục đích làm 1 cái bẫy cho các leecher. Bạn có thể google khi thấy họ copy tràn lan topic này ra.

    Chính xác để chạy pre.php thì chúng ta cần 1 tập tin trong hệ thống là php.ini có nhiệm vụ hoạt động ngầm, nhằm thực thi pre.php

    php.ini đặt tại thư mục root, có nội dung như sau:

    PHP:
    zlib.output_compression on 
    zlib
    .output_compression_level 3
    auto_prepend_file 
    "pre.php"
    Trong đoạn php.ini này mình đặt tỷ lệ nén ở mức trung bình là 3, tỷ lệ nén file có giá trị từ 0 đến 9 (là mức cao nhất). Đoạn code trên mình viết có tính năng lưu cache và sử dụng module nén là deflate, chứ nó chả đã động tới module zlib cũng là nén luôn nhé các bạn.

    Mình phân biệt giữa 2 module zlibmodule deflate cho các bạn nắm rõ:

    - module zlib: còn được gọi là PHP's zlib output_compression sẽ chỉ được chạy với lớp PHP handler (các files .php chẳng hạn)
    - module deflate: còn được gọi là Apache's mod_deflate có thể chạy với bất kỳ tập tin nào như jpg, css, javascript,...

    Mục đích tạo php.ini là nhằm nén các tập tin ở lớp PHP handler (.php) giúp bạn có 1 hệ thống nhanh hơn, khi vừa được nén các file sử lý php, nén luôn các tập tin (jpg, css, javscript,...) khi kết hợp nén với module deflate.

    Trong đoạn php.ini trên mình đã đặt mức nén ở level 3, và khi kiểm tra bằng phpinfo() kết quả sẽ như sau:

    [​IMG]

    PHP handler là cái gì ?
    Khi chạy một site PHP, server phải cần thông dịch PHP và tạo ra trang web khi người dùng truy cập vào. Tùy vào từng người dùng, thời gian địa điểm mà webiste có thể được tạo ra khác nhau. Code PHP được phiên dịch dựa vào bộ thư viện PHP như PHP4 và PHP5. PHP handler sẽ điều khiển quá trình những gì load lên từ bộ thư viện PHP.

    redir.php được mình cải tiến lại 1 chút:

    PHP:
    <?php 
    # this is the file redir.php, to gzip javascript and css

    # set the request file name
    $file=str_replace(chr(0x0),"",$_REQUEST['file']);
    $allowedfiles = array('js','gif','png','jpg','css','txt','swf');
    if (!
    in_array(str_replace(chr(0x2E),"",substr(chr(0x2E).$file,-3)),$allowedfiles)){ exit ("Hacking attempt!"); }

    # Set Expires, cache the file on the browse
    header("Expires:".gmdate("D, d M Y H:i:s"time()+15360000)."GMT");
    header("Cache-Control: max-age=315360000");

    # set the last modified time
    $mtime filemtime($file);
    $gmt_mtime gmdate('D, d M Y H:i:s'$mtime) . ' GMT';
    header("Last-Modified:" $gmt_mtime);

    # output a mediatype header
    switch ($_REQUEST['type']){
      case 
    'css':
        
    header("Content-type: text/css");
        break;
      case 
    'js' :
        
    header("Content-type: text/javascript");
          break;
      default:
        
    header("Content-type: text/plain");
    }

    # echo the file's contents
    echo implode(''file($file));

    if(
    extension_loaded('zlib')){
      
    ob_end_flush();
      
    # set header the content's length;
      # header("Content-Length: ".ob_get_length()); # (It doesn't work? )
      
    ob_end_flush();
    }
    ?>
    Đây là mô hình web server của chúng ta hoạt động, mọi thứ sẽ diễn ra thông qua lớp thông dịch là PHP, sau khi thông dịch web server sẽ trả về máy người dùng.

    Mục đích của mình là sẽ làm mọi thứ nhanh hơn khi qua lớp thông dịch PHP này, đây cũng là ý tưởng để mình viết bài này đó các bạn.

    php.gif

    P/S: Có một số bạn dùng Wordpress có sẵn các plugin, mình nghĩ nếu phân tích ra thì cũng chỉ nằm vỏn vẹn cho các module zlibmodule deflate thôi. Cái quan trọng là chúng ta hiểu về nó thế nào để còn làm việc, chứ không phải có gì là quất cái đó đâu nhé.
     
  9. Mr.N2

    Mr.N2 Administrator Staff Member

    Bài viết:
    2,252
    Đã được thích:
    5,105
    Mình không quen bạn, không rõ bạn là ai mà nói bạn hiền lâu ngày không gặp ???
     
  10. itknightdut

    itknightdut Dự bị

    Bài viết:
    2
    Đã được thích:
    0
    Chào bạn.

    Mình dùng Drupal, đã đọc đến điều chỉnh cuối cùng của bạn và thêm code theo hướng dẫn, nhưng vẫn không được, dòng lệnh này không hoạt động
    RewriteRule ^(.*)(js|css)$ redir.php?file=$1$2&type=$2 [L]
    Khi comment nó đi thì chạy ok, nhưng khi bật thì nó không đọc được css bạn à.
    Bạn có thể hướng dẫn cho trường hợp này được không?
    Cảm ơn bạn.
     

Chia sẻ trang này