2014-07-10 9 views
5

Czytałem dokumentację kolby w pythonie i budowanie lokalnej witryny.przeglądarka buforuje pliki statyczne w kolbie?

Wystarczy przeprowadzić test prędkości na mojej stronie wdrożonej na openshift z tego narzędzia here: - raport

Analiza mówi, że moja strona nie jest buforowanie zasobów statycznych. Po przeszukaniu go dla całej mojej wartości, mogę stwierdzić, że: -

  • Ma coś wspólnego z nagłówkami.
  • Kopie w pamięci podręcznej przechowywane są w komputerze klienta, a także w serwerach między klientem a witryną.

Moje pytanie

  • jestem na to wygaśnie i znaczniki w sekcji html? Lub w sekcji nagłówka HTTP?

  • Jeśli w sekcji nagłówka HTTP, jak to zrobić?

Jeśli coś przegapiłem w dokumentach, proszę dać mi znać.

Odpowiedz

5

czy stosowanie 'SEND_FILE_MAX_AGE_DEFAULT' lub zajrzeć do webassests http://webassets.readthedocs.org/en/latest/

Podobne pytanie zadawane tutaj. Flask static file Cache-Control

+0

Widziałem wspomniane pytanie. Problem polega na tym, że pamięć podręczna ma bardzo dużą wartość domyślną. Mój problem polega na tym, że testy pokazują, że moja strona internetowa nie buforuje elementów statycznych. To odpowiada na mój podstawowy wymóg wykonania zadania. Chciałbym również wiedzieć, czy tagi są dodawane w nagłówkach dokumentów HTTP lub HTML. W ten sposób nowe pytanie do consolodated przyszłych zasobów. – theSage

+0

Nagłówki HTTP. Nagłówki odpowiedzi. – PsyKzz

+0

W takim razie. Ale dlaczego zawartość nie jest buforowana przez długi czas? Sprawdziłem na http://tools.pingdom.com/fpt/ – theSage

0

Miałem ten problem i nie mogłem znaleźć odpowiedzi online, która sprawdziła się u mnie.

Potem zdałem sobie sprawę, że moje statyczne pliki nie są w ogóle podawane z Flask! Flask generuje tylko mój kod HTML. Pliki statyczne są dostarczane bezpośrednio przez mój serwer WWW (Apache w moim przypadku może to być Nginx lub coś innego).

Instrukcja Apache:

najpierw zainstalować odpowiednie moduły

sudo a2enmod expires 
sudo a2enmod headers 

Następnie dodać coś takiego do pliku .htaccess:

# 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 

Apache config modyfikowany Więcej informacji na jak skonfigurować go w Apache manual.

Powiązane problemy