
CzeœÌ.

No to akurat wiadomo od dawna, ¿e modu³y które czytaj¹ dane, nawet nie koniecznie losowo, spowalniaj¹ stronê. Zobacz ile u mnie jest modu³ów na g³ównej. A ja mam iloœÌ jednorazowych po³¹czeù do bazy równ¹
3 ( trzy ) i co ja mam napisaĂŚ?.

Ale jest na to sposĂłb. Nie koniecznie musi u Ciebie zadziaÂłaĂŚ, ale u mnie dziaÂła. Dotyczy on z pozoru banalnego jakby siĂŞ wydawaÂło elementu
Joomla! jakim jest
cache. Otó¿ jak ka¿dy wie, s¹ tam przetrzymywane dane maj¹ce przyœpieszyÌ szybkoœÌ dzia³ania strony. Takie jest za³o¿enie dzia³ania
schowka. Ale ze schowkiem bywa ró¿nie, tym bardziej jeœli strona dynamicznie zmienia swoj¹ treœÌ. Czyli przyk³adowo Twoje czy moje modu³y wykonuj¹ pracê. Wiêc nie doœÌ ¿e wykonywana jest spora iloœÌ zapytaù do bazy
SQL w momencie otwierania strony ( tylko dla jednego usera! ) a jeszcze dodatkowo przeglÂądarka sczytuje dane z
cache. Na moim serwerze efekt tego by³ taki sam jak i u Ciebie. Wolne wczytywanie strony, a czasami zrywanie po³¹czenia. Wiêc po prostu wy³¹czy³em
cache i nie mam problemĂłw z powolnym czytaniem strony. Wiem Âże nie na kaÂżdym serwerze to dziaÂła.

MoÂżna w inny sposĂłb zaradziĂŚ temu. Ale od strony przeglÂądarki i serwera proxy. Blokowanie
cache'owania strony przez przeglÂądarkĂŞ jest proste. Wykonuje siĂŞ to przy pomocy tzw. ekwiwalentĂłw
HTTP czyli odpowiednich nag³ówków
META w pliku
index.php templatki ( mata tagów ). Te nag³ówki nale¿y umieœciÌ w sekcji
<HEAD> kodu
index.php. Oto przykÂład:
Kod: |
<meta name="Pragma" content="no-cache" />
<meta name="Cache-Control" content="no-store, no-cache, must-revalidate" />
|

Istnienie dwóch ró¿nych nag³ówków spowodowane jest ró¿nic¹ miêdzy protoko³em
HTTP/1.0 a
HTTP/1.1. Pierwszy nag³ówek odnosi siê do
HTTP/1.0, a drugi do
HTTP/1.1.
Du¿o skuteczniejszym sposobem, jest wys³anie odpowiednich nag³ówków
HTTP do przeglÂądarki/serwera proxy. MoÂżna to wykonaĂŚ tylko przy pomocy
PHP po stronie serwera. WyglÂąda to tak:
Kod: |
<?php
header("Cache-Control: no-store, no-cache, must-revalidate"ĂÂŤĂÂť); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"ĂÂŤĂÂť); // HTTP/1.0
?>
|
Przy korzystaniu z tego sposobu przeglÂądarka otrzyma od serwera polecenie niezachowywania lokalnej kopii, a serwer proxy przepuÂści tÂą stronĂŞ do uÂżytkownika bez jej
cache'owania.
Jak pisaÂłem wczeÂśniej, ten sposĂłb nie zawsze jest skuteczny, i moÂże czasami zadziaÂłaĂŚ odwrotnie, czyli zwiĂŞkszyĂŚ transfer z naszej strony, przez co moÂżemy przekroczyĂŚ limity tego transferu.

To moÂże tyle mego wymÂądrzania siĂŞ

. MoÂże to komuÂś siĂŞ przydaĂŚ, lub nie przydaĂŚ.
True lub
False. Trudno

. A teraz idê spaÌ, bo ju¿ póŸno, a zdrówko mi siada, wiêc muszê trochê odetchn¹Ì od kompa. Przepraszam za póŸn¹ reakcjê, ale obecnie mam trochê innych zajêÌ, wiêc czêsto umykaj¹ mi posty. Postaram siê nastêpnym razem szybciej reagowaÌ. Pozdrawiam.
Jokris.