Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Moduł mod_expires - przyśpieszamy stronę


matma4u

Rekomendowane odpowiedzi

W tym temacie chciałbym Wam podać jeden prosty sposób za pomocą którego można naprawdę bardzo mocno przyśpieszyć naszą stronę.

 

Platforma testowa to serwer Apache 2.4 działający pod systemem Debian 64bit

 

Do testowania mojej strony tj. http://matma4u.plużyłem następujących  narzędzi online:

 

Instalacja na serwerze modułu mod_expires

 

Nie wiem czemu programiści z IPS przegapili/nie docenili jakie wielkie możliwości stwarza dodanie do kodu strony nagłówka Expires

 

Jak wiecie w czasie kiedy przeglądamy jakąś stronę www nasza przeglądarka tworzy tymczasowe kopie pobieranych obiektów zarówno w pamięci, jak i na dysku. Dzięki temu podczas kolejnej wizyty na tej samej  stronie, cześć danych znajduje się już na naszym komputerze (lokalnie) a co za tym idzie w znaczący sposób poprawia się szybkość jej wczytywania.

 

I tu właśnie jest pole do popisu dla nas. Wystarczy zainstalować moduł mod_expires na serwerze i w pliku .htaccess  wprowadzić odpowiednie zmiany by przyśpieszyć naszą stronę o kilkanaście procent. Moduł ten jest odpowiedzialny za dodanie do kodu strony nagłówka Expires.

 

Nagłówek Expires, informuje przeglądarkę jak długo dany obiekt jest aktualny tzn jak długo ma być przechowywany na naszym dysku. Pozwala wykorzystać pamięć podręczną przeglądarki do szybszego ładowania wybranych elementów. W ten prosty sposób ograniczamy  liczbę zapytań do serwera, zmniejszamy zużycie transferu i skracamy czas ładowania się strony.

 

Po instalacji modułu musimy edytować plik .htaccess. Otwieramy go i na samym dole dodajemy kod:

<IfModule mod_expires.c>
<Filesmatch "\.(jpg|jpeg|png|gif|js|css)$">
    ExpiresActive on
    ExpiresDefault "access plus 8 days"
</Filesmatch>
</IfModule>

Za pomocą pierwszej linii kodu  sprawdzamy  czy moduł mod_expires.c jest ładowany przez Apache. Jeżeli tak to następuje wykonanie instrukcji zawartych pomiędzy <IfModule mod_expires.c>.....</IfModule>

Zawsze używam takiej składni, dzięki temu, gdy jakiś moduł przestanie działać to nie zobaczę na ekranie mojego monitora komunikatu z mojej strony: Internal Server Error (500)

 W kolejnych liniach kodu przypisujemy  plikom o wybranych rozszerzeniach czas ważności tzn jak długo moją być przechowywane przez przeglądarkę na naszym dysku.

Jest to wersja uproszczona kodu, którą ja wykorzystuje i która świetnie sprawdza się.

Oczywiście jeżeli chcemy mieć pełną kontrole nad każdym plikiem możemy użyć następującej wersji:

<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 2 months"
ExpiresByType image/jpg "access plus 8 days"
ExpiresByType image/jpeg "access plus 8 days"
ExpiresByType image/png "access plus 8 days"
ExpiresByType image/gif "access plus 8 days"
ExpiresByType text/javascript "modification plus 1 day"
ExpiresByType text/css "modification plus 1 month"

</IfModule>

Wyjaśnienie całej  składni można znaleźć pod tym adresem: http://httpd.apache.org/docs/2.2/mod/mod_expires.html#AltSyn

 

Jaka jest różnica pomiędzy  access modification?

 

W przypadku access czas ważności liczony jest od momentu, gdy przeglądarka ostatni raz pobrała dany plik/obiekt

W przypadku modification czas ważności liczony jest od ostatniej modyfikacji danego pliku/obiektu na serwerze

  • Lubię to 4

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Będę musiał się rozejrzeć jeszcze za czymś by dać kopa stronie.

 

Mam jeszcze kilka pomysłów, które czekają na realizacje np. instalacja modułu mod_pagespeed - https://developers.google.com/speed/pagespeed/module/?hl=pl, wyłączenie wszystkich niepotrzebnych modułów Apache itp

 

To są tematy do następnych poradników.

 

  • Lubię to 1

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.