Về ý tưởng tăng tốc độ load website, mình xin mô tả là đoạn code này dựa trên yếu tố trình duyệt là chủ yếu. Nội dung website khi đã load 1 lần rồi, thì nó sẽ lưu lại dữ liệu là các tập tin javascript, hình ảnh (gif, png, jpg), css,... Ngoài việc lưu lại các tập tin này, thì nó sẽ còn gia tăng chỉ số expires của các tập tin, giúp nó lưu vào trình duyệt lâu hơn.
Bạn cần tạo 3 tập tin sau:
.htaccess (với nội dung):
ExpiresActive on
ExpiresDefault "access plus 1 months"
ExpiresByType image/jpg "access plus 1 months"
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
ExpiresByType text/css "access plus 1 months"
ExpiresByType text/javascript "access plus 1 months"
ExpiresByType application/javascript "access plus 1 months"
ExpiresByType application/x-shockwave-flash "access plus 1 months"
# Enable gzip (deflate) compression
AddOutputFilterByType DEFLATE text/html text/css application/x-javascript
RewriteEngine On
####Charset
AddDefaultCharset Off
####Gzip
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)(js|css)$ redir.php?file=$1$2&type=$2 [L]
</IfModule>
####ETags
FileETag None
####Expires
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType text/css A2592000
ExpiresByType application/x-javascript A2592000
pre.php (với nội dung):
Mã:
<?php
ob_start("ob_gzhandler");
$path = pathinfo($_SERVER['SCRIPT_NAME']);
if ($path['extension'] == 'css') {
header('Content-type: text/css');
}
if ($path['extension'] == 'js') {
header('Content-type: application/x-javascript');
}
?>
redir.php (với nội dung):Mã:
<?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:" [URL="http://adslcmc.blogspot.com/"][COLOR="#000000"].[/COLOR][/URL] $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");
}
# GZIP the content
if(extension_loaded('zlib')){ob_start();ob_start('ob_gzhandler');}
# 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();
}
?>
Hãy thử và cảm nhận tốc độ load website của bạn nhé. chúng bạn thành côngNguồn internet
cái này chỉ áp dụng cho apache sever có hỗ trợ .htaccess thôi. Còn một số web dùng sever windows thì ko đc
Trả lờiXóađúng đó bạn ah. vậy theo bạn một số web dùng sever windows thì dùng cách nào để có thể tối ưu tốc độ hơn ko
Xóacảm ơn bạn đã chia sẻ
Trả lờiXóaMỘT CÂU TRUYỆN VUI VUI MÀ MÌNH TÌM HIỂU ĐƯỢC THÔI MÀ BẠN
XóaSao mình toàn bị lỗi 500 vậy. Demo http://tuyetlanh.info
Trả lờiXóamình vẫn thấy bình thường mà. có lỗi gì đâu
Xóabạn xem lại web bạn đi. có 1 số lỗi ko ảnh hưởng tới tốc độ cũng như mỹ quan nhưng nó lại ảnh hưởng tới seo đó
Xóabạn có thể mở mã nguồn xem dòng 1,2,6,7
Chia sẻ hay ghê, thử mới được, sợ lỗi 500 quá, cứ chạm vô .htaccess là bị 500 :((
Trả lờiXóachú ý một tý là ko bị lỗi thôi bạn ah
Xóatạo ở đâu vậy! em vẫn chưa hiểu lắm cho câu tạo 3 tệp tin!
Trả lờiXóa3 tệp và up cùng với trang chủ bạn ah
XóaMình làm web trên divivu.com có làm được ko bạn?
Trả lờiXóamình thấy trang chủ của bạn load khá nhanh mà
XóaĐã thử và rất google 123rao.vn
Trả lờiXóachúc bạn thành công
Xóabạn ơi web của mình viết bằng asp.net thì sao?? có cách nào giảm tốc độ load web không bạn
Trả lờiXóacái này cũng có tác dụng cho asp bạn ah.
Xóa1 page html gồm các thành phần
Trả lờiXóa- Media (image, flash, video)
- Css
- Javascript
- HTML
Mọi người tham khảo trang này để xem trình duyệt hoạt động như thế nào: http://www.browserscope.org/?category=summary&v=top.
Dùng Inspect Element trên google để xem 1 site html load những gì.
Tùy nhu cầu tiếp cận của khách hàng để có cơ chế phân tán dữ liệu theo vùng miền.
VD:
jscript.domain.com
css.domain.com
.....
cám ơn bạn đã chia sẻ nhé
XóaVui lòng để nguồn Tác giả là Mr.N2 nhé: http://nguyennghia.com/code-tang-toc-do-load-website/
XóaCopy bài mà phán còn hơn thánh.
Mời các bạn ghé thăm Thế giới cảm xúc
Trả lờiXóaMình thấy hầu như không thay đổi gì lắm bạn ah.
Trả lờiXóa