Firefox 3 i 304 not modified

Witam,

Temat dość luźno związany z Railsami, ale nie znalazłem nic w necie.

Ostatnio gdy robiłem jakieś zmiany w aplikacji Railsowej po odświeżeniu nie było widać zmian. Wyczyściłem pamięć, zmiany zobaczyłem, wszystko ładnie pięknie :wink: Za chwilę znowu to samo. Otworzyłem firebuga i się okazuje, że większość plików ma status 304 not modified nawet jeżeli są zmodyfikowane. Myślę sobie, jakaś dziwna opcja z mongrelem…

Sprawdziłem aplikację w trybie produkcyjnym na apachu z mod passengerem - to samo. Nawet w ajaxowym menadżerze plików po usunięciu jakiegoś pliku czasami nie widać zmian. Sprawdziłem jeszcze mój upload progress module i dokładnie to samo - po kilku zapytaniach do serwera firefox nie ściąga już ponownie JSONa, chociaż ustawiam nagłówki:

"Expires: Mon, 28 Sep 1970 06:00:00 GMT" "Cache-Control: no-cache"
Ktoś wie o co może chodzić? :slight_smile: Spotkał się ktoś z czymś takim?

FF3 dość agresywnie cache’uje, radą na to jest ctrl+f5 (nie samo f5, nie ctrl-r).

Dla mnie całkiem spoko, ale nie mogę w każdej aplikacji pisać, że w razie problemów proszę odświeżać stronę :wink:

Orientuje się ktoś jakie nagłówki ustawić, żeby nie trzeba było ręcznie odświeżać?

Może ktoś mógłby sprawdzić jak to wygląda: http://mugshots.drogomir.com na FF3. Najlepiej wrzucić kilka dużych fot (tak żeby z kilka minut się wrzucały). U mnie po jakimś czasie upload progress się zatrzymuje i po wyczyszczeniu pamięci updatuje się przez chwilę normalnie i później znowu stop…

Czary mary…

A teoretycznie restart serwera nie zmienia numerów przy js i css, przez co przeglądarka powinna traktować je jako nowe pliki?

Używasz ETag. Nie analizowałem dokładanie, ale na pierwszy rzut oka to to jest przyczyną.

bober0:
Tu nawet nie chodzi o pliki JS - to samo dzieje się z normalnym contentem - wyobraź sobie scaffold, usuwasz jakiś obiekt, przenosi Cię z powrotem do indexu i dalej widać usunięte coś.

underley:
Mógłbyś rozwinąć? Świadomie na pewno nie używam, więc ewentualnie Railsy lub serwer dorzucają. Tylko w firebugu/live http headers nie widzę nic dziwnego - szczególnie, że taka sytuacja występuje tak samo pod mongrelem jak i apachem.

ETag to taki nagłówek, który z założenia ma informować przeglądarkę o “wersji” kontentu.
http://intertwingly.net/blog/2004/09/11/Vary-ETag/

Tyle to ja potrafię sobie wygooglać :wink:

Kłopot w tym, że we wspomnianym wyżej module do apacha sam buduję odpowiedź i jedyne 2 nagłówki, które tam wsadzam to:

"Expires: Mon, 28 Sep 1970 06:00:00 GMT" "Cache-Control: no-cache"
Mniej więcej tutaj: http://github.com/drogus/apache-upload-progress-module/tree/master/mod_upload_progress.c#L715

Dlatego napisałem, że świadomie na pewno nie używam :slight_smile:

U nikogo nie występują takie dziwne objawy pod Firefoxem 3? Nie wierzę, że to tylko w moich aplikacjach i skryptach :stuck_out_tongue:

Z progress jest ok, json jest za każdym razem pobierany, a no-cache działa (sprawdziłem na FF3).
Reszta kontentu na stronie jest “oETagowana”. Robi to apacz najprawdopodobniej.
Może spróbuj w tym wirtualu FileETag None?

underley:
Pod jakim OSem sprawdzałeś tego progressa? U mnie pod windowsem jest ok, linuxowa wersja firefoxa przestaje update’ować pasek po kilku requestach.

Mógłby ktoś to sprawdzić u siebie na Linuxie, na Firefox 3? Bałdzo płoszę :slight_smile:

czesc Drogus

u mnie wszystko w porzadku
(linux ubuntu 8.04, firefox 3.0.1)

pozdrawiam

Mógłby ktoś to sprawdzić u siebie na Linuxie, na Firefox 3? Bałdzo płoszę :)[/quote]
Najpierw rozpocząłem wrzucanie 1 pliku 3MB - wczytywał się bez zarzutu, w między czasie druga zakładka i 2 pliki po 3MB. Cały czas komunikat, że wczytuje, ale 0%. Gdy skończył się wrzucać pierwszy plik te z drugiej zakładki jeszcze przez gdzieś minute 0% i nagle 68% i dalej już bezproblemu.
Ubuntu 8.04, FF 3.0.1

pozdrawiam

ps. dla informacji robiłem to 12sie08 krótko po 13.

FF3 z Ubuntu - jest ok. 3 pobrania progess, żadne nie miało 304

Dzięki za pomoc, będę musiał to przeanalizować i posprawdzać na różnych konfiguracjach.