Statinio turinio kešavimas: Skirtumas tarp puslapio versijų

Iš IV pagalba klientams.
Peršokti į: navigacija, paiešką
(Naujas puslapis: Statinį svetainės turinį, kuris niekada arba beveik niekada nesikeičia, galima saugoti laikinoje naršyklių atmintyje (''angl. cache''). Taip sutaupoma gana daug resursų ir...)
 
 
(nerodoma 8 tarpinės versijos, sukurtos vieno naudotojo)
1 eilutė: 1 eilutė:
Statinį svetainės turinį, kuris niekada arba beveik niekada nesikeičia, galima saugoti laikinoje naršyklių atmintyje (''angl. cache''). Taip sutaupoma gana daug resursų ir dalies informacijos nereikia
+
Statinį svetainės turinį, kuris niekada arba beveik niekada nesikeičia, galima saugoti laikinoje lankytojų naršyklių atmintyje (''angl. cache''). Taip galima juntamai pagreitinti svetainės užkrovimą pakartotinai grįžtantiems lankytojams, nes dalies turinio (paveikskėliai, css failai, javascript'ai ir pan.) nebereikia pakartotinai siųsti iš serverio.  
siųsti pakartotinai atėjusiems lankytojams.  
 
  
Galiojimo laikas nustatomas modulio mod_expires pagalba, jame nurodant kiek, koks failas, galioja.  
+
Galiojimo laikas nustatomas modulio mod_expires pagalba. Visos taisyklės tiesiog įrašomos į .htaccess failą, kuris paprastai yra arba pagrindiniame svetainės kataloge ''/public_html/''. Jei šio failo nėra - [[Darbas_su_failais_naudojant_Directadmin|jį galite tiesiog sukurti]].
  
Žemiau aprašytos taisyklės tiesiog įrašomos į .htaccess failą, kuris paprastai yra arba pagrindiniame svetainės kataloge ''/public_html/''. Jei šio failo nėra - [[Darbas_su_failais_naudojant_Directadmin|jį galite tiesiog sukurti]].
+
__TOC__
  
 +
=== mod_expires naudojimas ===
  
 +
Taisyklės rašomos aktyvavus mod_expires modulį, tai atliekama taip:
  
 
<pre>
 
<pre>
 
<IfModule mod_expires.c>
 
<IfModule mod_expires.c>
 
   ExpiresActive on
 
   ExpiresActive on
# favicon
+
 
  ExpiresByType image/x-icon              "access plus 1 week"
+
</IfModule>
# paveiksleliai
+
</pre>
  ExpiresByType image/gif                "access plus 1 month"
+
 
  ExpiresByType image/png                "access plus 1 month"
+
Turinio galiojimo laikas nustatomas nurodant kiek laiko, po atidarymo, jį reikia saugoti. Pvz. Jei visus '''jpg''' paveikslėlius galima saugoti vieną mėnesį, reikėtų rašyti:
 +
 
 +
<pre>
 +
ExpiresActive on
 
   ExpiresByType image/jpg                "access plus 1 month"
 
   ExpiresByType image/jpg                "access plus 1 month"
  ExpiresByType image/jpeg                "access plus 1 month"
+
</pre>
# css ir js skriptai
+
 
  ExpiresByType text/css                 "access plus 2 day"
+
; ExpiresByType image/jpg
  ExpiresByType application/javascript   "access plus 2 week"
+
: Nurodomas failo tipas ir plėtinys
  ExpiresByType text/javascript           "access plus 2 week"
+
; "access plus 1 month"
 +
: Nurodoma, kad failą kešuoti vienam mėnesiui
 +
 
 +
galiojimo laikas gali būti nustatomas metų, mėnesių, savaičių, dienų, valandų, minučių ir sekundžių tikslumu, pvz.:
 +
 
 +
<pre>
 +
ExpiresActive on
 +
ExpiresByType image/png "access plus 1 year"
 +
ExpiresByType application/pdf "access plus 1 month"
 +
ExpiresByType text/x-javascript "access plus 3 days"
 +
ExpiresByType application/x-shockwave-flash "access plus 1 hour"
 +
</pre>
 +
 
 +
Optimalų laikotarpį galima nustatyti žinant kaip svetainė veikia, tačiau bendru atveju paveikslėliai, audio ar video medžiaga gali galioti ilgai, css failai ar javascript'ai kiek trumpiau.
 +
 
 +
=== Pavyzdys ===
 +
 
 +
<pre>
 +
<IfModule mod_expires.c>
 +
ExpiresActive on
 +
#paveiksleliai
 +
ExpiresByType image/jpg "access plus 60 days"
 +
ExpiresByType image/png "access plus 60 days"
 +
ExpiresByType image/gif "access plus 60 days"
 +
ExpiresByType image/jpeg "access plus 60 days"
 +
#css failai
 +
ExpiresByType text/css "access plus 1 days"
 +
# favicon paveikslelis
 +
ExpiresByType image/x-icon "access plus 1 month"
 +
# PDF, audio, video failai
 +
ExpiresByType application/pdf "access plus 1 month"
 +
ExpiresByType audio/x-wav "access plus 1 month"
 +
ExpiresByType audio/mpeg "access plus 1 month"
 +
ExpiresByType video/mpeg "access plus 1 month"
 +
ExpiresByType video/mp4 "access plus 1 month"
 +
ExpiresByType video/quicktime "access plus 1 month"
 +
ExpiresByType video/x-ms-wmv "access plus 1 month"
 +
ExpiresByType application/x-shockwave-flash "access 1 month"
 +
# javascript
 +
ExpiresByType text/javascript "access plus 1 week"
 +
ExpiresByType application/x-javascript "access plus 1 week"
 +
ExpiresByType application/javascript "access plus 1 week"
 
</IfModule>
 
</IfModule>
 
</pre>
 
</pre>
  
 +
Šiuo atveju ilgiausiai (2 mėnesius) galioja paveikslėliai, tuomet vieną mėnesį PDF failai ir video/audio turinys. Vieną savaitę galioja javascript'ai ir tik vieną dieną galioja CSS failas.
  
 +
'''Gerokai išsamesnę informaciją''' apie mod_expires naudojimą galite rasti modulio dokumentacijoje: [http://httpd.apache.org/docs/2.2/mod/mod_expires.html Apache mod_expires]
  
[[Kategorija:Talpinimo_problemų_sprendimas]]
+
[[Kategorija:Serverio_ir_PHP_nustatymai]]

Dabartinė 14:59, 11 rugsėjo 2019 versija

Statinį svetainės turinį, kuris niekada arba beveik niekada nesikeičia, galima saugoti laikinoje lankytojų naršyklių atmintyje (angl. cache). Taip galima juntamai pagreitinti svetainės užkrovimą pakartotinai grįžtantiems lankytojams, nes dalies turinio (paveikskėliai, css failai, javascript'ai ir pan.) nebereikia pakartotinai siųsti iš serverio.

Galiojimo laikas nustatomas modulio mod_expires pagalba. Visos taisyklės tiesiog įrašomos į .htaccess failą, kuris paprastai yra arba pagrindiniame svetainės kataloge /public_html/. Jei šio failo nėra - jį galite tiesiog sukurti.

mod_expires naudojimas

Taisyklės rašomos aktyvavus mod_expires modulį, tai atliekama taip:

<IfModule mod_expires.c>
  ExpiresActive on

</IfModule>

Turinio galiojimo laikas nustatomas nurodant kiek laiko, po atidarymo, jį reikia saugoti. Pvz. Jei visus jpg paveikslėlius galima saugoti vieną mėnesį, reikėtų rašyti:

ExpiresActive on
  ExpiresByType image/jpg                 "access plus 1 month"
ExpiresByType image/jpg
Nurodomas failo tipas ir plėtinys
"access plus 1 month"
Nurodoma, kad failą kešuoti vienam mėnesiui

galiojimo laikas gali būti nustatomas metų, mėnesių, savaičių, dienų, valandų, minučių ir sekundžių tikslumu, pvz.:

ExpiresActive on
ExpiresByType image/png "access plus 1 year"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 3 days"
ExpiresByType application/x-shockwave-flash "access plus 1 hour"

Optimalų laikotarpį galima nustatyti žinant kaip svetainė veikia, tačiau bendru atveju paveikslėliai, audio ar video medžiaga gali galioti ilgai, css failai ar javascript'ai kiek trumpiau.

Pavyzdys

<IfModule mod_expires.c>
ExpiresActive on
#paveiksleliai
ExpiresByType image/jpg "access plus 60 days"
ExpiresByType image/png "access plus 60 days"
ExpiresByType image/gif "access plus 60 days"
ExpiresByType image/jpeg "access plus 60 days"
#css failai
ExpiresByType text/css "access plus 1 days"
# favicon paveikslelis
ExpiresByType image/x-icon "access plus 1 month"
# PDF, audio, video failai
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType audio/x-wav "access plus 1 month"
ExpiresByType audio/mpeg "access plus 1 month"
ExpiresByType video/mpeg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/quicktime "access plus 1 month"
ExpiresByType video/x-ms-wmv "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
# javascript
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
</IfModule>

Šiuo atveju ilgiausiai (2 mėnesius) galioja paveikslėliai, tuomet vieną mėnesį PDF failai ir video/audio turinys. Vieną savaitę galioja javascript'ai ir tik vieną dieną galioja CSS failas.

Gerokai išsamesnę informaciją apie mod_expires naudojimą galite rasti modulio dokumentacijoje: Apache mod_expires