Jump to content
  • 0

Используйте кеш браузера


okunev2
 Share

Question

Проверяю сайт с помощью сервиса: https://developers.google.com/speed/pagespeed/insights/

Есть сообщение:
 

Цитата

 

Используйте кеш браузера

Если указывать в заголовках HTTP дату или срок действия статических ресурсов, браузер будет загружать уже полученные ранее ресурсы с локального диска, а не из Интернета.

Используйте кеш браузера для следующих ресурсов:

http://code.jivosite.com/script/widget/RVZ33Gzebr (не указан срок действия)

 

В .htaccess прописано следующие правило, которое работает и все кашируется на стороне браузера, а вот внешний скрипт нет, соответственно как вылечить это чтобы внешний скрипт кэшировался?

Цитата

<IfModule mod_expires.c>
  <FilesMatch \.(gif|png|jpg|jpeg|ogg|mp4|mkv|flv|swf|wmv|asf|asx|wma|wax|wmx|wm)$>
    ExpiresDefault "access plus 1 year"
  </FilesMatch>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 7 day"
  ExpiresByType image/gif "access plus 7 day"
  ExpiresByType image/png "access plus 7 day"
  <FilesMatch \.(css|js)$>
    ExpiresDefault "access plus 1 year"
  </FilesMatch>
  <FilesMatch \.(woff)$>
    ExpiresDefault "access plus 1 year"
  </FilesMatch>
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"
  ExpiresByType text/x-cross-domain-policy "access plus 1 week"
</IfModule>

 

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Кеширование внешних файлов настраивается на сервере владельца файла, многие сервисы не выставляют заголовков для кеширования в браузере, чтобы иметь возможность менять код своих скриптов в любой момент и при этом не иметь проблем со старыми версиями. У вас два варианта:

1. Если хотите кровь из носа чтобы кешировался, то проксируйте скрипт с помощью php

2. Не обращайте внимание на это предупреждение

Link to comment
Share on other sites

  • 0

создаете php файл пишете туда что-то типо

<?php
// тут вставить вывод всех нужных для кеширования заголовков с помощью header()


if(isset($_GET['url'])){
	echo file_get_contents($_GET['url']);
}

в html вставляете адрес на внешний скрипт через ваш скрипт

<script src="/proxy.php?url=http://ya.ru/script.js"></script>

и собственно настраиваете для этого файла кеширование, все нужные заголовки можно с помощью php же и генерировать.

  • Like 2
Link to comment
Share on other sites

  • 0

А ещё можете просто скачать нужный скрипт и сохранить на своем сервере, ну и собственно подгружать его со своего сервера, но потеряете возможность обновления скриптов, придется отслеживать обновления самостоятельно.

  • Like 1
Link to comment
Share on other sites

  • 0

я так с метрикой и фейсбуковскими приблудами эксперементировал как то. 1 в 1.  а вот щас увидел и подумал - а ведь кто то может таким образом php файлы просматривать.   http  лучше в самом скрипте проставлять

12 часа назад, wwt сказал:

if(isset($_GET['url'])){ echo file_get_contents($_GET['url']); }

 

Link to comment
Share on other sites

  • 0
7 часов назад, Николя223 сказал:

я так с метрикой и фейсбуковскими приблудами эксперементировал как то. 1 в 1.  а вот щас увидел и подумал - а ведь кто то может таким образом php файлы просматривать.   http  лучше в самом скрипте проставлять

 

Ну я написал "пишете туда что-то типо", то есть скрипт нужно дорабатывать.А вот просматривать исходники не выйдет, ибо при обращении к php скриптам будет загружен результат работы скрипта, а не исходник.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy