eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwPytanie o cache przeglądarek
Ilość wypowiedzi w tym wątku: 26

  • 1. Data: 2010-05-31 13:57:31
    Temat: Pytanie o cache przeglądarek
    Od: Marek <b...@e...com>

    Witam,

    W jaki sposób przenoszą się ustawienia cache wysyłane w nagłówkach przez
    serwer dla strony HTML na linki w postaci JS i CSS? Czy są one traktowane
    jako niezależne pliki pobierane GETem?

    Jeśli tak, to czy da się w jakiś sposób spowodować np. w htaccess aby nie
    były one każdorazowo pobierane gdy przełączamy się między stronami jednego
    serwisu?


  • 2. Data: 2010-05-31 14:16:40
    Temat: Re: Pytanie o cache przeglądarek
    Od: Peter May <p...@o...pl>

    W dniu 2010-05-31 15:57, Marek pisze:
    > Witam,
    >
    > W jaki sposób przenoszą się ustawienia cache wysyłane w nagłówkach przez
    > serwer dla strony HTML na linki w postaci JS i CSS? Czy są one traktowane
    > jako niezależne pliki pobierane GETem?
    >
    > Jeśli tak, to czy da się w jakiś sposób spowodować np. w htaccess aby nie
    > były one każdorazowo pobierane gdy przełączamy się między stronami jednego
    > serwisu?

    Dość ciekawa lektura:
    http://www.mnot.net/cache_docs/

    --
    Peter


  • 3. Data: 2010-05-31 16:02:31
    Temat: Re: Pytanie o cache przeglądarek
    Od: porneL <n...@p...net>

    On Mon, 31 May 2010 14:57:31 +0100, Marek <b...@e...com> wrote:

    > W jaki sposób przenoszą się ustawienia cache wysyłane w nagłówkach przez
    > serwer dla strony HTML na linki w postaci JS i CSS? Czy są one traktowane
    > jako niezależne pliki pobierane GETem?

    Są niezależne. Cache nigdy nie przenosi się między plikami. HTTP nawet nie
    wie o istnieniu HTML i ma go gdzieś.

    > Jeśli tak, to czy da się w jakiś sposób spowodować np. w htaccess aby nie
    > były one każdorazowo pobierane gdy przełączamy się między stronami
    > jednego serwisu?

    Normalnie Apache zapewnia cache'owalność statycznych plików. Możesz użyć
    mod_expires, żeby wydłużyć żywotność plików w cache.

    --
    http://pornel.net
    this.author = new Geek("porneL");


  • 4. Data: 2010-05-31 18:49:09
    Temat: Re: Pytanie o cache przeglądarek
    Od: Marek <b...@e...com>

    Dnia Mon, 31 May 2010 17:02:31 +0100, porneL napisał(a):


    > Normalnie Apache zapewnia cache'owalność statycznych plików.

    Coś mnie tknęło i zbadałem w jakimś swoim serwisie jak ładują się JS i CSS
    - zawsze status 200. Stwierdziłem więc, że coś jest nie tak jak sądziłem,
    ze powinno być. Krążąc po stronach wewnetrznych serwisu za każdym razem od
    nowa pobierane są te same skrypty.

    > Możesz użyć
    > mod_expires, żeby wydłużyć żywotność plików w cache.

    Rozważałem użycie tego modułu. Jednakże lepszym rozwiązaniem byłoby
    zmuszenie przeglądarki do cacheowania danej strony do czasu gdy plik się
    zmieni (data modyfikacji pliku) lub przynajmniej na czas jednej sesji
    przeglądarki. Przypuszczam, że dostawca hostingu nakręca w ten sposób
    transfer serwera, który jest potem rozliczany i być może trzeba poprosić o
    włączenie jakiegoś "standardowego" mechanizmu?

    mod_expires jeśli dobrze wnioskuję - pozwala jedynie na regulowanie czasu
    cach'eowania - niezależnie czy plik się zmienił czy nie w trakcie trwania
    tego czasu. Czy dobrze myślę? Jeśli tak jest, to jest to trochę protezą niż
    rozwiązaniem - ostatecznie zastosuję je.


  • 5. Data: 2010-05-31 18:50:14
    Temat: Re: Pytanie o cache przeglądarek
    Od: Marek <b...@e...com>

    Dnia Mon, 31 May 2010 16:16:40 +0200, Peter May napisał(a):

    > Dość ciekawa lektura:
    > http://www.mnot.net/cache_docs/

    Dziękuję :-) Bardzo przydatne kompendium.


  • 6. Data: 2010-06-01 11:32:50
    Temat: Re: Pytanie o cache przeglądarek
    Od: Marek <b...@e...com>

    Dnia Mon, 31 May 2010 20:49:09 +0200, Marek napisał(a):

    >> Możesz użyć
    >> mod_expires, żeby wydłużyć żywotność plików w cache.

    Stop! Starą dokumentację czytałem. Już znalazłem odpowiedć :)


  • 7. Data: 2010-06-01 12:48:31
    Temat: Re: Pytanie o cache przeglądarek
    Od: Marek <b...@e...com>

    Dnia Mon, 31 May 2010 17:02:31 +0100, porneL napisał(a):

    W międzyczasie zrodziło mi się jeszcze jedno pytanie. Mam stronę
    dynamicznie generowaną: newsy z obrazkami. Za każdym razem strona ładuje mi
    się ze statusem 200 i tak ma być. Obrazki również są dynamiczne i z nimi
    jest problem gdyż, wydaje mi się, że są nadgorliwie cache'owane albo
    browser mi prawdy nie mówi. Badam to w Firebugu. Otóż obrazki mają wysyłane
    headery:

    header('HTTP/1.1 200 OK');
    header("Etag: \"".$fileInfo["Etag"]."\"");
    header("Content-Type: ".$fileInfo["file_mime"]);
    header("Last-Modified: ".$fileInfo["Date"]." GMT");
    header("Content-Length: ".ob_get_length());

    (to fragment kodu PHP).

    Przy wejściu na daną stronę nawet po uprzednim zamknięciu przeglądarki
    browser w ogóle nie sprawdza czy są na serwerze nowe wersje tych obrazków.
    Ładuje je z cache. Co robię źle?


  • 8. Data: 2010-06-01 13:03:05
    Temat: Re: Pytanie o cache przeglądarek
    Od: Colin <c...@c...tk>

    On 2010.06.01 14:48, Marek wrote:
    > header('HTTP/1.1 200 OK');
    > header("Etag: \"".$fileInfo["Etag"]."\"");
    > header("Content-Type: ".$fileInfo["file_mime"]);
    > header("Last-Modified: ".$fileInfo["Date"]." GMT");
    > header("Content-Length: ".ob_get_length());
    >
    > (to fragment kodu PHP).
    >
    > Przy wejściu na daną stronę nawet po uprzednim zamknięciu przeglądarki
    > browser w ogóle nie sprawdza czy są na serwerze nowe wersje tych obrazków.
    > Ładuje je z cache. Co robię źle?

    Jeżeli nie ma Expires, to przeglądarki ustawiają jakąś prawdopodobną
    datę zmiany dokumentu, np. aktualna data + 20% różnicy między Date a
    Last-Modified, ale nie więcej niż 24h. Każda przeglądarka ma inny algorytm.


  • 9. Data: 2010-06-01 14:00:14
    Temat: Re: Pytanie o cache przeglądarek
    Od: Marek <b...@e...com>

    Dnia Tue, 01 Jun 2010 15:03:05 +0200, Colin napisał(a):


    > Jeżeli nie ma Expires, to przeglądarki ustawiają jakąś prawdopodobną
    > datę zmiany dokumentu, np. aktualna data + 20% różnicy między Date a
    > Last-Modified, ale nie więcej niż 24h. Każda przeglądarka ma inny algorytm.

    Czy nie da się zlecić CMS'owi decydowania o tym czy dany obrazek wygasł czy
    nie? Expires nie załatwia sprawy gdyż trudno jest przewidzieć czy redaktor
    serwisu zmieni jutro obrazek czy za rok. Optymalną formą komunikacji byłoby
    zmuszenie przeglądarki do odpytania się czy jest coś nowego a w zależności
    od tego serwer zwracałby albo kod 200 albo 304.


  • 10. Data: 2010-06-01 16:21:15
    Temat: Re: Pytanie o cache przeglądarek
    Od: Colin <c...@c...tk>

    On 2010.06.01 16:00, Marek wrote:
    > Czy nie da się zlecić CMS'owi decydowania o tym czy dany obrazek wygasł czy
    > nie? Expires nie załatwia sprawy gdyż trudno jest przewidzieć czy redaktor
    > serwisu zmieni jutro obrazek czy za rok.

    Last-Modified - data modyfikacji
    Expires np. Thu, 01 Jan 1970 00:00:00 GMT (Cache-Control: max-age=0, ale
    różne proxy nie obsługują)
    i obsługa odpowiedzi 304 na żądanie z If-Modified-Since.

    > Optymalną formą komunikacji byłoby zmuszenie przeglądarki do
    > odpytania się czy jest coś nowego a w zależności od tego serwer
    > zwracałby albo kod 200 albo 304.

    Optymalne byłoby umieszczanie numerów wersji w nazwach plików.

strony : [ 1 ] . 2 . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: