Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Кэш броузера
Сообщения
apple

Привет. Друзья, не могли бы вы привести пример, как сохранить картинку в кэш браузера? так, что бы при загрузке страницы браузер обращался за картинкой в кэш, а не подкачивал с сервера=)
спасибо за ранее=)
да, и еще как это сделать, если путь к картинке прописан в CSS?

26 Апр 2013, 19:02
Alligator

Второе:
[php:1:470bd206fb].название{
background: url("/images/menubar.jpg");
}
[/php:1:470bd206fb]

26 Апр 2013, 19:12
apple

Alligator, молодец. теперь как эту картинку в кэш записать?

26 Апр 2013, 19:14
IceJOKER

apple, браузер сам запишет, насильно ты его туда не затолкаешь xD
посмотри есть ли строка
header("Cache-control: no-cache no-story, max-age=0");
если есть, то убери его, потому что он запрещает кэширование


p.s. исправил строку, т.к. тогда писал в спешку


__________
посл.ред. 27 Апр 2013, 7:17; всего 1 раз 26 Апр 2013, 19:22
apple

IceJOKER, ну "гугл проверка скорости сайта" рекомендует что бы я кешировал графику,и выдает мне список картинок

26 Апр 2013, 19:28
Casper

apple пишет:
"IceJOKER, ну "гугл проверка скорости сайта" рекомендует что бы я кешировал графику,и выдает мне список картинок"
Ответ на это написан в 4 посте

26 Апр 2013, 19:38
apple

Casper, нет такой строки

26 Апр 2013, 20:50
Анархист

apple
Кэширование по содержанию
http://www.codenet.ru/webmast/php/caching.php
добавлено спустя 1 минуту:
Для управления используется MD5 сумма содержимого изображения. Пока содержание не изменилось, сумма будет постояной. В случае изменения содержания в базе на сервере клиент выполнит запрос для повторного формирования содержания. Пока изображение постоянно содержимое будет отображаться из кэш.

26 Апр 2013, 21:40
Apolscky

apple пишет:
"Привет. Друзья, не могли бы вы привести пример, как сохранить картинку в кэш браузера? так, что бы при загрузке страницы браузер обращался за картинкой в кэш, а не подкачивал с сервера=)
спасибо за ранее=)
да, и еще как это сделать, если путь к картинке прописан в CSS?"

Может это

26 Апр 2013, 21:45
Fantik

apple, во первых проверь есть ли на сервере соответствующие модули, которые выводят заголовки, и если есть то надо добавить несколько строк в файл htaccess

пишет:
"#php_value zlib.output_compression 4096
#php_value zlib.output_compression_level 8
FileETag MTime Size
# Архивирование Gzip или Deflate
#<IfModule mod_deflate.c>
#AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript text/x-javascript
#SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|iso|tar|bz2|sit|rar|png|jpg|gif|jpeg|flv|swf|mp3|avi|mov|mp4|3gp)$ no-gzip dont-vary
#DeflateCompressionLevel 8
#DeflateBufferSize 4096
#SetOutputFilter DEFLATE
#<IfModule mod_setenvif.c>
#BrowserMatch ^Mozilla/4 gzip-only-text/html
#BrowserMatch ^Mozilla/4.0[678] no-gzip
#BrowserMatch bMSIE !no-gzip !gzip-only-text/html
#Header append Vary User-Agent env=!dont-vary
#</IfModule>
#<ifmodule mod_gzip.c>
#mod_gzip_on Yes
#mod_gzip_dechunk Yes
#mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
#mod_gzip_item_exclude file \.(jpg|png|gif)$
#mod_gzip_item_include handler ^cgi-script$
#mod_gzip_item_include mime ^text/.*
#mod_gzip_item_include mime ^application/x-javascript.*
#mod_gzip_item_exclude mime ^image/.*
#mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
#mod_gzip_maximum_file_size 100000
#mod_gzip_minimum_file_size 300
#mod_gzip_maximum_inmem_size 100000
#</ifmodule>
#</IfModule>
# Кеширование в браузере на стороне пользователя
#<IfModule mod_expires.c>
#ExpiresActive On
#ExpiresDefault "access 7 days"
#ExpiresByType application/javascript "access plus 1 year"
#ExpiresByType application/x-javascript "access plus 1 year"
#ExpiresByType text/javascript "access plus 1 year"
#ExpiresByType text/x-javascript "access plus 1 year"
#ExpiresByType text/css "access plus 1 year"
#ExpiresByType text/html "access plus 7 day"
#ExpiresByType image/gif "access plus 1 year"
#ExpiresByType image/jpeg "access plus 1 year"
#ExpiresByType image/png "access plus 1 year"
#ExpiresByType image/jpg "access plus 1 year"
##ExpiresByType image/x-icon "access 1 year"
#ExpiresByType application/x-shockwave-flash "access 1 year"
#</IfModule>
# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(xhtml|html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</ifModule>"



Немного строк настроек для pagespeed, там выберешь что тебе надо и раскометируешь
добавлено спустя 4 минуты:
Apolscky, google рекомендует использовать CSS спрайты, а не кодировать графику в base64

26 Апр 2013, 22:21
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.