Браузеру можно "сказать", чтобы он сохранил файлы локально. И в следующий раз не обращался за файлами к удаленному серверу и не тратил время и ресурсы.
Если у вас используется апач, то можно прописать в .htaccess примерно такое:
# 1 YEAR
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DAYS
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MIN
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
Если nginx, то примерно такое:
location ~* \.(ico|pdf|flv)$ {
expires 1y;
add_header Cache-Control public;
root /home/mdance/public;
}
location ~* \.(jpg|jpeg|png|gif|swf)$ {
expires 1w;
add_header Cache-Control public;
try_files $uri @backend;
}
location ~* \.(txt|css|js|zip|rar)$ {
expires 1M;
gzip_vary on;
add_header Cache-Control proxy-revalidate;
root /home/mdance/public;
}
location ~* \.(html|htm|php)$ {
expires 1m;
add_header Cache-Control private;
add_header Cache-Control proxy-revalidate;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#try_files $uri @backend;
}
Как-то так, сроки хранения и типы файлов можно варьировать под ваши задачи.