Подтвердить что ты не робот

Добавить заголовки истечения срока действия

Add Expires headers
There are 21 static components without a far-future expiration date.

    http://static.doers.lk/examples-offline.css
    http://static.doers.lk/kendo.common.min.css
    http://static.doers.lk/kendo.default.min.css
    http://static.doers.lk/style.css
    http://static.doers.lk/jquery.min.js
    http://static.doers.lk/kendo.web.min.js
    http://static.doers.lk/console.js
    http://static.doers.lk/sprite.png
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    https://fbexternal-a.akamaihd.net/safe_image.php?...
    http://static.doers.lk/favicon.PNG

Когда я тестирую сайт, используя yahoo YSLOW, он говорит выше массаж. Так что я не знаю, как добавить устаревшие заголовки. Любая помощь будет оценена?

4b9b3361

Ответ 1

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

Обратите внимание, что некоторые хостинг-провайдеры не позволят вам использовать файлы .htaccess, поэтому проверьте их условия, если они не работают.

Проект HTML5Boilerplate имеет отличный файл .htaccess, который содержит необходимые настройки. См. Соответствующую часть файла в репозиторий Github

Это важные бит

# ----------------------------------------------------------------------
# Expires headers (for better cache control)
# ----------------------------------------------------------------------

# These are pretty far-future expires headers.
# They assume you control versioning with filename-based cache busting
# Additionally, consider that outdated proxies may miscache
# www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

# If you don't use filenames to version, lower the CSS and JS to something like
# "access plus 1 week".

<IfModule mod_expires.c>
  ExpiresActive on

# Your document html
  ExpiresByType text/html "access plus 0 seconds"

# Media: images, video, audio
  ExpiresByType audio/ogg "access plus 1 month"
  ExpiresByType image/gif "access plus 1 month"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType video/mp4 "access plus 1 month"
  ExpiresByType video/ogg "access plus 1 month"
  ExpiresByType video/webm "access plus 1 month"

# CSS and JavaScript
  ExpiresByType application/javascript "access plus 1 year"
  ExpiresByType text/css "access plus 1 year"
</IfModule>

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

Ответ 2

попробуйте это решение, и оно отлично работает для меня

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</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_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.*
</ifModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml text/x-js text/js 
</IfModule>

## EXPIRES CACHING ##

Ответ 3

Вы можете добавить их в свой файл htaccess или vhost.

Смотрите здесь: http://httpd.apache.org/docs/2.2/mod/mod_expires.html

Но если вы не владеете этими доменами, они являются нашим контролем.

Ответ 4

<IfModule mod_expires.c>
    # Enable expirations
    ExpiresActive On 

    # Default directive
    ExpiresDefault "access plus 1 month"

    # My favicon
    ExpiresByType image/x-icon "access plus 1 year"

    # Images
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"

    # CSS
    ExpiresByType text/css "access plus 1 month"

    # Javascript
    ExpiresByType application/javascript "access plus 1 year"
</IfModule>

Ответ 5

В ASP.NET есть похожий объект, вы можете использовать части кэширования в WebFormsUserControls для того, чтобы на некоторое время кэшировать объекты страницы и сохранять ресурсы сервера. Это также известно как кеширование фрагментов.
Если вы добавите этот код в начало своего пользовательского элемента управления, версия элемента управления будет сохранена в выходном кэше в течение 150 секунд. Вы можете создать свой собственный элемент управления, который будет содержать заголовок expire для определенного ресурса, который вы хотите.

<%@ OutputCache Duration="150" VaryByParam="None" %>

Эта статья объясняет это полностью: Кэширование частей страницы ASP.NET