eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › Przeglądarki zbyt mocno keszują
Ilość wypowiedzi w tym wątku: 16

  • 11. Data: 2009-01-13 19:09:02
    Temat: Re: Przeglądarki zbyt mocno keszują
    Od: emil <e...@p...onet.pl>

    Maciej Łebkowski wrote:
    > Witam,
    >
    > Wstawiłem na stronie mechanizm wspomagający cache przeglądarek.
    > Konkretnie, polegało to na wstawieniu nagłówków:
    > ETag: md5(content)
    > Last-Modified: date(r, filemtime(plik z contentem))
    > Date: date(r)
    > Expires: date(r, strtotime(+10 minutes))
    > Wszystkie wartości są dobrze przekazywane (tzn, jesli content sie
    > zmieni, to faktycznie zmienia sie etag i odpowiednio last-modified)
    >
    > Efekt, jaki obserwuję:
    > Firefox, czasami (nie wiem dokładnie kiedy), w ogóle nie wykonuje
    > zapytania do serwera (LiveHTTP headers milczy, log apache rowniez).
    > Rozumiem, że jest to naturalne zachowanie, gdyż wysyłany jest
    > dziesieciominutowy czas wygasniecia (Expire). Dziwi mnie jednak,
    > ze dzieje sie tak tylko czasami - raz czesciej, raz rzadziej. Nie
    > udało mi się odnaleźć żadnej sensownej zależności.
    >
    > Problem: wysyłanie komentarza
    > Po dodaniu komentarza, user ląduje na "thank you page", z ktorej
    > moze sie cofnac do komentowanej strony. Ta oczywiście jest ciągnięta
    > z cache i user jest zmieszany (hej, gdzie moj komentarz?!). Aby tego
    > uniknąć, odpowiedz na POST-a wygląda mniej wiecej tak:
    >
    > HTTP/1.x 302 Found
    > Date: Tue, 13 Jan 2009 11:37:11 GMT
    > Location: thankyou.html
    > Expires: -1
    > Pragma: no-cache
    > Cache-Control: no-cache
    >
    > Jednak przeglądarka nic sobie z tego nie robi - nadal pobiera strone
    > z cache. Zaobserwowane na Safari i Firefoksie, więc podejrzewam, ze
    > robię coś źle.
    > Mógłbym zmienić adres, do ktorego wraca user (jakiś ?bust dodać), ale
    > kłóci się to z zasadą "jeden wpis, jeden adres".
    >
    > Jak więc w takim modelu zasugerować odświeżenie informacji o stronie?
    >
    Pogubiłem się trochę.
    Ale od początku:
    a) strony które otwierasz POSTem nie są keszowane w przeglądarce.
    b) zdecyduj się,albo e-tag albo last-modified, stosowanie razem nie ma
    większego sensu, swoją drogą zwracasz 304 w odpowiedzi?
    c) Jeśli zwracasz 302,to nagłówki keszowe sobie podaruj, bo tyczą się
    one 302, która i tak nie zostanie zakeszowana ;)
    d) Jeśli już chcesz obejść kesza to dodaj do URLa parametr np. Location:
    /thanyou.html?nc=timestamp
    e) ewentualnie wywal expires, wtedy przeglądarka powinna zwsze zapytać o
    stronę z If-Modified-Since i najwyżej zwrócisz jej 304.
    d) zainstaluj sobie fiddlera i dokładnie popatrz na nagłówki, niektóre
    serwery lubią dorzucać coś od siebie.

    emil




  • 12. Data: 2009-01-13 19:49:41
    Temat: Re: Przeglądarki zbyt mocno keszują
    Od: Maciej Łebkowski <m...@e...com>

    Dnia 13-01-2009 o 20:09:02 emil <e...@p...onet.pl> napisał(a):

    > Pogubiłem się trochę.
    > Ale od początku:
    > a) strony które otwierasz POSTem nie są keszowane w przeglądarce.
    > b) zdecyduj się,albo e-tag albo last-modified,
    > stosowanie razem nie ma większego sensu,

    Nieprawda. Safari czasami wysyła samo if-modified-since, bez
    if-none-match. Więc jest sens, dopóki mam userów z Safari/Chrome.

    > swoją drogą zwracasz 304 w odpowiedzi?

    Oczywiście.

    > d) Jeśli już chcesz obejść kesza to dodaj do URLa parametr np. Location:
    > /thanyou.html?nc=timestamp

    Ten nie jest keszowany, a nawet jeśli, to mnie to nie boli.

    > e) ewentualnie wywal expires, wtedy przeglądarka powinna zwsze zapytać o
    > stronę z If-Modified-Since i najwyżej zwrócisz jej 304.

    Ostatecznie tak właśnie zrobiłem.

    > d) zainstaluj sobie fiddlera i dokładnie popatrz na nagłówki, niektóre
    > serwery lubią dorzucać coś od siebie.

    Jasna sprawa. Niestety nie ma fiddlera na mój system. ;o

    --
    Maciej Łebkowski


  • 13. Data: 2009-01-13 20:27:27
    Temat: Re: Przeglądarki zbyt mocno keszują
    Od: porneL <n...@p...net>

    On Tue, 13 Jan 2009 12:26:50 -0000, pasman <p...@o...pl> wrote:

    > dziwne, w nIEpewnym to działa:
    >
    > <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

    Gdy przeglądarka widzi ten talizman, to strona już dawno jest w cache.

    --
    this.author = new Geek("porneL");


  • 14. Data: 2009-01-13 20:36:01
    Temat: Re: Przeglądarki zbyt mocno keszują
    Od: porneL <n...@p...net>

    On Tue, 13 Jan 2009 12:07:54 -0000, Maciej Łebkowski <m...@e...com>
    wrote:

    > HTTP/1.x 302 Found
    > Date: Tue, 13 Jan 2009 11:37:11 GMT
    > Location: thankyou.html

    Location powinno mieć cały URL z http:// etc.

    > Expires: -1
    > Pragma: no-cache
    > Cache-Control: no-cache
    >
    > Jednak przeglądarka nic sobie z tego nie robi - nadal pobiera strone
    > z cache. Zaobserwowane na Safari i Firefoksie, więc podejrzewam, ze
    > robię coś źle.

    Odpowiedź POST i GET jest (nie)cache'owana osobno, niestety.

    Przy przekierowaniu nagłówki tyczą się cache przekierowania, a nie strony docelowej.
    W thankyou.html musisz wysyłać odpowiednie nagłówki.

    Spróbuj dorzucić Content-Location (które teoretycznie powinno wywalać z cache
    wskazany URL, jeżeli jest w tej samej domenie).

    --
    http://sblam.com
    this.author = new Geek("porneL");


  • 15. Data: 2009-01-13 22:32:55
    Temat: Re: Przeglądarki zbyt mocno keszują
    Od: Maciej Łebkowski <m...@e...com>

    Dnia 13-01-2009 o 21:36:01 porneL <n...@p...net> napisał(a):

    >> Jednak przeglądarka nic sobie z tego nie robi - nadal pobiera strone
    >> z cache. Zaobserwowane na Safari i Firefoksie, więc podejrzewam, ze
    >> robię coś źle.
    > Odpowiedź POST i GET jest (nie)cache'owana osobno, niestety.
    > Przy przekierowaniu nagłówki tyczą się cache przekierowania, a nie strony
    docelowej. W thankyou.html musisz wysyłać odpowiednie nagłówki.
    > Spróbuj dorzucić Content-Location (które teoretycznie powinno wywalać z cache
    wskazany URL, jeżeli jest w tej samej domenie).

    Jest w tej samej domenie, spróbuję jak się wyśpię.

    (i nie w thankyou.html, tylko w /article, niestety)


    --
    Maciej Łebkowski


  • 16. Data: 2009-01-13 23:17:12
    Temat: Re: Przeglądarki zbyt mocno keszują
    Od: emil <e...@p...onet.pl>

    Maciej Łebkowski wrote:
    > Dnia 13-01-2009 o 20:09:02 emil <e...@p...onet.pl> napisał(a):
    >
    >> Pogubiłem się trochę.
    >> Ale od początku:
    >> a) strony które otwierasz POSTem nie są keszowane w przeglądarce.
    >> b) zdecyduj się,albo e-tag albo last-modified,
    >> stosowanie razem nie ma większego sensu,
    >
    > Nieprawda. Safari czasami wysyła samo if-modified-since, bez
    > if-none-match. Więc jest sens, dopóki mam userów z Safari/Chrome.
    >
    >> swoją drogą zwracasz 304 w odpowiedzi?
    >
    > Oczywiście.
    >
    >> d) Jeśli już chcesz obejść kesza to dodaj do URLa parametr np. Location:
    >> /thanyou.html?nc=timestamp
    >
    > Ten nie jest keszowany, a nawet jeśli, to mnie to nie boli.
    >
    >> e) ewentualnie wywal expires, wtedy przeglądarka powinna zwsze zapytać o
    >> stronę z If-Modified-Since i najwyżej zwrócisz jej 304.
    >
    > Ostatecznie tak właśnie zrobiłem.
    >
    >> d) zainstaluj sobie fiddlera i dokładnie popatrz na nagłówki, niektóre
    >> serwery lubią dorzucać coś od siebie.
    >
    > Jasna sprawa. Niestety nie ma fiddlera na mój system. ;o
    >
    wireshark? ;)
    emil

strony : 1 . [ 2 ]


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: