2014-07-10 24 views
5

Python'da flask dokümanlar okuyor ve yerel bir web sitesi hazırlıyorsunuz. tarayıcıda sabit dosyaları önbelleğe alma tarayıcı?

Sadece bu araç here ile openshift dağıtılan web sitemde bir hız testi uygulandı: -

analiz raporu Sitem statik kaynakları önbelleğe almadığından emin diyor.

  • O başlıklarıyla ile ilgili bir şey vardır: - tüm değer için bu Googling sonra bunu toplamak.
  • Önbellek kopyalar, istemci makinede ve ayrıca istemci ve web sitesi arasında sunucularda tutulur.

My Soru

  • ben html bölümünde sona ve etiketleri dahil etmek miyim? Veya HTTP başlık bölümünde?

  • HTTP üstbilgi bölümünde bunu nasıl yaparım?

Dokümanlardaki bir şeyi özlediysem, lütfen bize bildirin.

cevap

5

Ya kullanımı 'SEND_FILE_MAX_AGE_DEFAULT' ya webassests http://webassets.readthedocs.org/en/latest/

burada sorulan Benzer soru içine bakmak. Flask static file Cache-Control

+0

Belirtilen soruyu gördüm. Sorun şu ki önbellek çok büyük bir varsayılan değere ayarlanmış. Benim sorunum, testlerimin web sitemin statik öğeleri önleyemediğini gösteriyor. Bu, görevi tamamlamanın temel gereksinimini karşılar. Ayrıca, etiketlerin HTTP veya HTML doc başlıklarına eklenip eklenmediğini de bilmek isterim. Böylece yeni soru gelecekteki kaynağı birleştirdi. – theSage

+0

HTTP üstbilgileri. Yanıt başlıkları. – PsyKzz

+0

Doğru o zaman. Ancak içerik neden uzun süre önbelleğe alınmıyor? Daha fazla kontrol ettim http://tools.pingdom.com/fpt/ – theSage

0

Bu problemi yaşadım ve benim için çalışan bir çevrimiçi cevabı bulamadım.

Sonra statik dosyalarının Flask'tan hiç sunulmadığını fark ettim! Flask sadece HTML'mi üretir. Statik dosyalar doğrudan web sunucum tarafından sunulur (benim durumumda Apache, sizin Nginx veya başka bir şey olabilir). Apache için

Talimatlar:

İlk Sonra .htaccess dosyaya böyle bir şey eklemek alakalı modülleri

sudo a2enmod expires 
sudo a2enmod headers 

yükleyin:

# Expire headers  
<ifModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType image/jpeg "access plus 1 month" 
    ExpiresByType image/png "access plus 1 month" 
    ExpiresByType image/gif "access plus 1 month" 
    ExpiresByType text/css "access plus 1 month" 
    ExpiresByType text/javascript "access plus 1 month" 
    ExpiresByType application/javascript "access plus 1 month" 
</ifModule> 

# Cache-Control Headers 
<ifModule mod_headers.c> 

    <filesMatch "\.(ico|jpe?g|png|gif)$"> 
    Header set Cache-Control "max-age=2592000, public" 
    </filesMatch> 

    <filesMatch "\.(css|js)$"> 
    Header set Cache-Control "max-age=2592000, public" 
    </filesMatch> 

</ifModule> 
# END Cache-Control Headers 
üzerinde Daha fazla detay modifiye

Apache konfigürasyoniçinde nasıl yapılandırılır.

İlgili konular