Ne başlık ve nasıl ASP.NET ve PHP bunları başarabilmek için sona erecek mi?

2 Cevap php

Bugün YSlow kullanarak benim web performans istatistiklerini kontrol ettirin. Aşağıda hangi bir uyarı var (veya hata olabilir)

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

    * (no expires) http://www.example.com/video/css/global.css
    * (no expires) http://www.example.com/video/js/global.js
    * (no expires) http://www.example.com/video/images/main-bg.png

Bu PHP ve ASP.NET hem de bunu başarmak için ne demektir ve ne. Ben paylaşılan barındırma sunucusu duyuyorum, bu yüzden bana bu kullanarak kod yapmak için bir yol söyleyin lütfen, ben sunucu sonunda herhangi bir değişiklik yapmak mümkün değil, olacak çünkü.

Ben başlığını sona olacak sonra ben CSS değişiklik yapacağız eğer css ve diğer dosyaları belirli bir süre (1 ay, hafta) için önbelleğe çünkü o kullanıcı hemen onları almazsınız herhangi bir şans var. Öyle mi?

Başlıklarını sona kullanarak herhangi bir dezavantajları var mı?

2 Cevap

PHP

$time = time() + 3 * 24 * 60 * 60; // 3 days
header('expires: ' . gmdate('D, d M Y H:i:s \G\M\T', $time);

Ama sana Apache modülünü tavsiye ederim mod_expires [1]. Daha sonra bir. Htaccess dosyasında böyle bir şey koyabilirsiniz

<FilesMatch "\.(jpg|gif|png|css|js)$">
    ExpiresActive on
    ExpiresDefault "access plus 3 days"
</FilesMatch>

Bu, tüm Görüntüler, CSS ve JavaScript dosyaları maç ve 3 gün boyunca bir Expires başlığını koyacaktır

[1] http://httpd.apache.org/docs/2.0/mod/mod_expires.html

Açıkçası sona başlığına dezavantajı zaten bir değişiklik yaparsanız sona kalana kadar sonra kullanıcının yeni sürümü almayacaksınız, ne dedi.

Diğer seçenek dosya o zamandan beri değişti eğer kullanıcı ziyaret tarayıcı soracaktır dahaki sefere bir tarih değiştirilmiş başlık, bu şekilde göndermek için değil ... eğer sadece önbelleğe sürümünü yüklemek olacaktır. Aslında olsa bu standart takip hangi tarayıcıları emin değil.

Bu seçenekler yine sadece bu sunucuya daha fazla erişim gerekir stil veya görüntüleri gibi statik içerik ile bunu yapmak için, dinamik sayfaları ile çalışmak. (Bir. Htaccess dosyası ile bu sonuçların bazıları da elde edebilirsiniz)

İşte ben size daha fazla okuma google'da.

PHP Resource: http://www.sitepoint.com/article/caching-php-performance/

ASP.NET Resource: http://ondotnet.com/pub/a/dotnet/2002/12/30/cachingaspnet.html

.htaccess Resource: http://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching.html