Кеширане на медийни файлове

KOBRETI

New member
Общо взето е доста безопасно да се укажат картинките примерно като кешируеми, за да могат прокситата да намалят извикването им всеки път.

Малко съм бос в .htaccess-a, но това би ли свършило работа:

Код:
# CONFIGURE media caching
#
Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
Header unset Last-Modified
Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public, no-transform"
</FilesMatch>
 
Re: Кеширане на медийни файлове

Не разбирам защо махаш етаг-а?
Точно той ти помага, когато подмениш даден файл клиента да го получи! Махайки го казваш на клиента и на прокситата "не търси но файл до еди си коя дата". До тази дата клиента ще вижда все стария файл, дори и да е подменен.

Като си промениш css-а какво правиш? Адваш като гламав гет параметри, за да се упресни при клиента? И така с всички "кешируеми файлове"?

Най-добре увеличи употребата на etag-а, това ще ти гарантира, че потребителите винаги ще получават какво трябва, само чрез потвърдителна конекция. Тоест ще теглят само хеадърите, но не и самия обект.
 
Re: Кеширане на медийни файлове

Малко съм бос в .htaccess-a, но това би ли свършило работа:

KOBRETI, mlazarov искаше да ти каже че това например ще ти свърши работа.

Не си блъскай главата да измисляш нещата, много отдавна вече са измислени, просто ги използвай. 🙂
 
Re: Кеширане на медийни файлове

Друго предложение:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A900
</IfModule>

# 3 Month
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf)$">
Header set Cache-Control "max-age=7257600"
</FilesMatch>
# 1 Week
<FilesMatch "\.(js|css|pdf|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# 10 Minutes
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=600"
</FilesMatch>
# NONE
<FilesMatch "\.(pl|php|cgi|spl)$">
Header unset Cache-Control
Header unset Expires
Header unset Last-Modified
FileETag None
Header unset Pragma
</FilesMatch>
 

Back
Горе