рдХреИрд╕реЗ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЛ compress.php рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдПрдВ, рдЬреЛ Gzip рдореЗрдВ JS + CSS рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░реЗрдЧрд╛

Google рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЛ рдЧрддрд┐ рджреЗрдВ Code.google рдкрд░ рджрд┐рдП рдЧрдП рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ:


рдпрд╣ рд╕рдм рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХрдВрдкреНрд░реАрд╣реЗрдВрд╕рд┐рд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди рдХрд░реЗрдВрдЧреЗ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕рд╛рдЗрдЯ рдХреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо:

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗрд╡рд┐рдВрдЧ 329,270 рдмреА рд╣реИред рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрдкреАрдб рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм рдпрд╣ 14 рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ 2 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдмрд╣реБрдд рддреЗрдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрд╡рдпрдВ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЧрддрд┐рд╢реАрд▓ рдирд╣реАрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЪреВрдВрдХрд┐ рд╕рднреА рд╕рд░реНрд╡рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдВрдкреАрдбрд╝рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред

рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ:
<link rel="stylesheet" type="text/css" href="min/styles_1349888114.cssgz" /> <script src="min/all_1349888114.jsgz" /></script> 



рдирд┐рд░реНрджреЗрд╢ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИрдВ:
  1. Compress.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
  2. рд╕реНрдХреНрд░рд┐рдкреНрдЯ cssmin.php , jsmin.php рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
  3. рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рдЗрди 3 рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ *
  4. рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рдПрдХ compress_timestamp.php рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдФрд░ рдЙрд╕ рдкрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ compress.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рд╕рдХреЗ *
  5. рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреА рдЬрдбрд╝ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рдорд┐рдиреА рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ
  6. рдЕрдкрдиреЗ index.php рдореЗрдВ, рд╣реЗрдбрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:
     <?php require_once('compress_timestamp.php'); // timestamp   ,   .  $compress_stamp=unix_timestamp if (stripos($_SERVER['HTTP_ACCEPT_ENCODING'],'GZIP')!==false) $gz='gz'; else $gz=null; echo '<script src="min/js_schedule_'.$compress_stamp.'.js'.$gz.'" />',PHP_EOL; echo '<link rel="stylesheet" type="text/css" href="min/css_schedule_'.$compress_stamp.'.css'.$gz.'" />',PHP_EOL; ?> 

  7. Compress.php рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЙрдЪрд┐рдд рд╕реНрдерд╛рди рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ:
     <?php file_compress('css_schedule.css',array('./CSS/menu.css', './CSS/ThreeColumnFixed.css', './CSS/sprite.css', './CSS/iCal.css')); file_compress('js_schedule.js',array('./js/all1.js', './js/jquery.js', './js/love_habrahabr.js', './love_4pda.js')); ?> 

    рдпрд╣ рдЗрди рдЬрд╛рджреБрдИ рдХрд╛рд░реНрдпреЛрдВ (рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрдХрд┐рдВрдЧ рдФрд░ рдЗрд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рдерд╛ рдХрд┐ рд╣рдордиреЗ рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ GZipped рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ MIN рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреАред рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреБрд░рд╛рдирд╛ рд╣реИ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп JS рдФрд░ CSS рдкреНрд░рд╛рд░реВрдк рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрджрд┐ рдирдпрд╛ рд╣реИ, рддреЛ JSGZ рдФрд░ CSSGZред
  8. рджреВрд░ рд╕реЗ compress.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рд╣реЛ рдЬрд╛рдПрдЧрд╛
  9. рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ


* рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдЯ рдкрд░ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ

рдЕрдм рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛрддреА рд╣реИ, рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдХреЛрдб рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред

рдЬрдм рднреА рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ compress.php рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЖрдкрдХреЗ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЕрдм рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реАрдПрд╕рдПрд╕ MIN рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИред




рдпрджрд┐ рдЖрдк рд╕рд╛рдЗрдЯ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЧрддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИред рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдиреНрд╣реЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреИрд╢ рдХрд░реЗрдВред рдпрд╣ .htaccess рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рдЗрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ рд░рдЦрдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 ## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType audio/mp3 "access 1 year" ExpiresByType audio/wav "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule> ## EXPIRES CACHING ## 


рдЖрдлреНрдЯрд░рд╡рд░реНрдб: рд▓реЗрдЦ рд╢реБрд░реБрдЖрддреА рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд╕рдм рдХреБрдЫ (рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде) рднрд╛рд░реА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ compress.php рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ JS рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ CSS рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдкрд░
рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛: рдЕрд░реНрди рдмрд░реНрдХрд╣реЙрдл

Source: https://habr.com/ru/post/In154397/


All Articles