-
21. Data: 2010-06-02 19:47:04
Temat: Re: Pytanie o cache przeglądarek
Od: the_foe <t...@w...pl>
W dniu 2010-06-02 20:12, Marek pisze:
> Dnia Wed, 02 Jun 2010 17:54:13 +0200, the_foe napisał(a):
>
> Hej,
>
>> mialem podobny problem z ff - nie da sie tu ominac cache obrazku zawsze
>> wyjdzie stara wersja do czasu kiedy recznie nie przeladujemy strony.
>
> Z tym dałem sobie radę. Daję max-age na 10 minut. Tak więc mam gwarancję,
> że najpóźniej po tym czasie użytkownik zassie bieżącą wersję.
>
>> Przeladowanie strony np. naglowkami nie daje takiego efektu. Dopiero
>> uzycie rewrite moda dalo rade:
>> RewriteRule ^(.+)dynamicphoto\-([0-9]+)__([a-zA-Z0-9\-\_]+).([a-
z]+)$
>> $1$3.$4 [L]
>> wtedy adres obrazka generuje z php i jest przeladowywany za kazdym razem
>> bo nazwa jest unikalna (bo dodaje uniksowaego stampa)
>
> Aha - czyli losujesz początek nazwy pliku. Zupełnie niepotrzebnie. Dawno
> temu też tak robiłem, nawet prościej: orazek.jpg?nic=losowa_liczba
> Tak czy owak to już nie jest potrzebne. W http 1.1 refresh cache'a działa
> poprawnie na FF i IE gdy zapewnisz nagłówki.
nie dziala jesli miedzyczasie plik jest podmieniany. Mialem taki projekt
w ktorym mozna bylo prosto edytowac obrazek i w locie zmienialo pliki
graficzne. FF sobei z tym nie radzil pokazujac zawsze popzrednia wersje
obrazka (miniatura).
--
the_foe
-
22. Data: 2010-06-03 17:06:54
Temat: Re: Pytanie o cache przeglądarek
Od: Marek <b...@e...com>
Dnia Wed, 02 Jun 2010 21:47:04 +0200, the_foe napisał(a):
> nie dziala jesli miedzyczasie plik jest podmieniany. Mialem taki projekt
> w ktorym mozna bylo prosto edytowac obrazek i w locie zmienialo pliki
> graficzne. FF sobei z tym nie radzil pokazujac zawsze popzrednia wersje
> obrazka (miniatura).
A tak, masz rację. Sprawdziłem to. U mnie to zjawisko nie występuje w
zasadzie przez przypadek. W części redakcyjnej CMS prezentuję miniaturki
załadowanych obrazków. Są one resamplowane w locie. Gdy obrazek jest
resamplowany w locie (ograniczenia podawane są w nazwie pliku) to pomijam
nagłówki umożliwiające cache'owanie po to aby nie gromadzić podglądów tego
samego obrazka.
-
23. Data: 2010-06-03 20:45:07
Temat: Re: Pytanie o cache przeglądarek
Od: porneL <n...@p...net>
On Wed, 02 Jun 2010 20:47:04 +0100, the_foe <t...@w...pl> wrote:
>> Aha - czyli losujesz początek nazwy pliku. Zupełnie niepotrzebnie. Dawno
>> temu też tak robiłem, nawet prościej: orazek.jpg?nic=losowa_liczba
>> Tak czy owak to już nie jest potrzebne. W http 1.1 refresh cache'a
>> działa poprawnie na FF i IE gdy zapewnisz nagłówki.
>
> nie dziala jesli miedzyczasie plik jest podmieniany. Mialem taki projekt
> w ktorym mozna bylo prosto edytowac obrazek i w locie zmienialo pliki
> graficzne. FF sobei z tym nie radzil pokazujac zawsze popzrednia wersje
> obrazka (miniatura).
Na pewno miałeś odpowiednie nagłówki ustawione? Jeśli miniatura była
osobnym URLem, to też miała odpowiednie nagłówki?
Jeśli obrazek może się zmieniać w dowolnym momencie, to Cache-control:
must-revalidate powinno załatwić sprawę (i powinieneś się upewnić, że
serwer zmienia Last-Modified i ETag kiedy obrazek się zmienia).
--
http://pornel.net
this.author = new Geek("porneL");
-
24. Data: 2010-06-04 18:44:45
Temat: Re: Pytanie o cache przeglądarek
Od: the_foe <t...@w...pl>
W dniu 2010-06-03 22:45, porneL pisze:
> On Wed, 02 Jun 2010 20:47:04 +0100, the_foe <t...@w...pl> wrote:
>
>>> Aha - czyli losujesz początek nazwy pliku. Zupełnie niepotrzebnie. Dawno
>>> temu też tak robiłem, nawet prościej: orazek.jpg?nic=losowa_liczba
>>> Tak czy owak to już nie jest potrzebne. W http 1.1 refresh cache'a
>>> działa poprawnie na FF i IE gdy zapewnisz nagłówki.
>>
>> nie dziala jesli miedzyczasie plik jest podmieniany. Mialem taki
>> projekt w ktorym mozna bylo prosto edytowac obrazek i w locie
>> zmienialo pliki graficzne. FF sobei z tym nie radzil pokazujac zawsze
>> popzrednia wersje obrazka (miniatura).
>
> Na pewno miałeś odpowiednie nagłówki ustawione? Jeśli miniatura była
> osobnym URLem, to też miała odpowiednie nagłówki?
>
> Jeśli obrazek może się zmieniać w dowolnym momencie, to Cache-control:
> must-revalidate powinno załatwić sprawę (i powinieneś się upewnić, że
> serwer zmienia Last-Modified i ETag kiedy obrazek się zmienia).
>
naglowki byly dobzre ustawione, probowalem takze plik jako url gdzie po
po prostu funkcja php "przeciagala" plik z serwera, naglowki poprawnie
ustawione. Mowiac prawde nie wiedzialem ze dyskowe wartosci pliku maja
tu znaczenie i moze to bylo to, teraz to juz niewazne. Choc dziwi mnie
fakt ze przeladowanie strony, linkiem, z naglowkow (location, refresh)
nic nie dawalo, a zrobienie to myszka wciskajac ikone przeladowania
dawalo zadany efekt.
--
the_foe
-
25. Data: 2010-06-04 19:51:43
Temat: Re: Pytanie o cache przeglądarek
Od: porneL <n...@p...net>
On Fri, 04 Jun 2010 19:44:45 +0100, the_foe <t...@w...pl> wrote:
> Choc dziwi mnie fakt ze przeladowanie strony, linkiem, z naglowkow
> (location, refresh) nic nie dawalo, a zrobienie to myszka wciskajac
> ikone przeladowania dawalo zadany efekt.
To jest normalne i logiczne. Pierwsza opcja unika zbędnego ściągania
rzeczy, a druga służy specjalnie do ściągania wszystkiego ponownie.
--
http://pornel.net
this.author = new Geek("porneL");
-
26. Data: 2010-06-05 07:12:11
Temat: Re: Pytanie o cache przeglądarek
Od: Marek <b...@e...com>
Dnia Fri, 04 Jun 2010 20:44:45 +0200, the_foe napisał(a):
> naglowki byly dobzre ustawione, probowalem takze plik jako url gdzie po
> po prostu funkcja php "przeciagala" plik z serwera, naglowki poprawnie
> ustawione. Mowiac prawde nie wiedzialem ze dyskowe wartosci pliku maja
> tu znaczenie i moze to bylo to, teraz to juz niewazne. Choc dziwi mnie
> fakt ze przeladowanie strony, linkiem, z naglowkow (location, refresh)
> nic nie dawalo, a zrobienie to myszka wciskajac ikone przeladowania
> dawalo zadany efekt.
W międzyczasie sprawdziłem, że otrzymanie obrazka pod bieżącym FF z
nagłówkiem must-revalidate powoduje, że jest on przy następnej wizycie
pobierany z serwera, który może albo dać 304 albo 200. Obrazek mi się
odświeża.
A co do nagłówka location, to generuje on kod odpowiedzi 302 jeśli nie
zadeklarujesz inaczej. Efekt jest taki sam gdybyś GET'em wszedł na docelowy
adres. Jeśli coś było w nim cache'owane, to zostanie odczytane z cache.