17 października 2012

Pamięć podręczna, czyli cache


O co chodzi z tym keszem? Nie chodzi tu bynajmniej o pieniądze. ;) Termin cache jest często używany w odniesieniu do systemów informatycznych. Jak definiuje go wikipedia?



Pamięć podręczna (ang. cache) – mechanizm, w którym część spośród danych zgromadzonych w źródłach o długim czasie dostępu i niższej przepustowości jest dodatkowo przechowywana w pamięci o lepszych parametrach. Ma to na celu poprawę szybkości dostępu do tych informacji, które przypuszczalnie będą potrzebne w najbliższej przyszłości.
Mówiąc krótko - cache pomaga nam zaoszczędzić czas na komunikacji ze źródłami danych, przyspiesza po prostu czas naszego oczekiwania na wynik naszych operacji. Cache jest stosowany w wielu miejscach - np. procesorze, systemie plików, dysku twardym, serwerze proxy czy przeglądarce. My skupimy się na tej ostatniej.

Jaki wpływ ma cache na to, co widzi Kowalski przy wejściu na stronę internetową?

Ogólnie rzecz ujmując, komunikacja między naszą przeglądarką a stroną internetową przebiega na zasadzie wymiany zdań typu request - response. Oznacza to, że ty, wpisując w pasek przeglądarki adres strony, wysyłasz do niej request (żądanie), a otrzymujesz response (odpowiedź). Jest to temat na oddzielny artykuł, jednak tyle wystarczy nam, aby w sprawie cache-a iść dalej.


Obrazek przedstawia komunikację w ramach protokołu HTTP w architekturze klient - serwer.
 
Otóż w momencie, gdy nasza przeglądarka otrzymuje odpowiedź, w odpowiedzi tej zawarte są informacje o elementach, które mają zostać zatrzymane w jej pamięci podręcznej oraz jak długo powinny być one ważne (tzn. po jakim czasie zapytać o nie serwer www ponownie). Takimi elementami mogą być np. obrazki, skrypty javascript, ułożenie i formatowanie elementów na stronie (styl strony, css) i wiele innych.

Takie podejście pozwala zaoszczędzić na komunikacji między naszym komputerem a serwerem www oraz przyspiesza wyświetlanie strony. Jakie są minusy? Cóż, jeżeli cache jest nie najlepiej zarządzany przez web mastera, czy administratora strony, możemy spotkać się z sytuacją, że wyświetlana na naszym ekranie zawartość strony będzie przestarzała, bo zaserwowana z naszej pamięci podręcznej.

Jeżeli masz podejrzenie, że tak właśnie dzieje się w twoim przypadku, możesz zastosować skrót klawiaturowy Ctrl + F5 do odświeżenia strony z jednoczesnym ignorowaniem cache-u. Spowoduje to wyświetlenie najnowszej, obecnej na serwerze wersji strony i odświeży wszystkie pliki z nią związane, które masz w pamięci podręcznej.


Dla ciekawych i bardziej zaawansowanych użytkowników - dokładny opis działania web cache: http://www.mnot.net/cache_docs/

Brak komentarzy:

Prześlij komentarz