Thread View: pl.comp.lang.javascript
12 messages
12 total messages
Started by Marek 'Qrczak' Potocki
Thu, 01 Dec 2011 07:55
wymuszenie przełądowania pliku ze skryptami
Author: Marek 'Qrczak' Potocki
Date: Thu, 01 Dec 2011 07:55
Date: Thu, 01 Dec 2011 07:55
18 lines
1497 bytes
1497 bytes
Mam pewien nieduży, ale upierdliwy problem. Otóż jest sobie strona, do której dopinam pliki z se skryptami <script src='abc.js'... Jako, że strona ewoluuje, to w plikach tych pojawiają się zmiany. Norma. Tylko przeglądarki nie dociągają nowej wersji i w efekcie strony nie chcą działać jak powinny. Niby wystarczy wymusić odświeżenie strony (w Firefoxie ctrl+shift+r), ale jest to dość upierdliwe. Jest jakaś prosta metoda na zmuszenie przeglądarki do przeładowywania takich plików, jeśli uległy one zmianom? Wydaje mi się, że powinno się to dziać samoczynnie, ale jakoś nie chce :( Podpowiedzcie, co z tym fantem zrobić? -- Pozdrawiam z Wrocławia Marek Potocki Przewodnik sudecki klasy 0
Re: wymuszenie przełądowania pliku ze skryptami
Author: Sergiusz Rozanski
Date: Thu, 01 Dec 2011 08:16
Date: Thu, 01 Dec 2011 08:16
23 lines
2112 bytes
2112 bytes
Dnia 01.12.2011 Marek 'Qrczak' Potocki <brak@maila.pl> napisał/a:
> Mam pewien nieduży, ale upierdliwy problem.
> Otóż jest sobie strona, do której dopinam pliki z se skryptami
><script src='abc.js'...
>
> Jako, że strona ewoluuje, to w plikach tych pojawiają się zmiany. Norma.
> Tylko przeglądarki nie dociągają nowej wersji i w efekcie strony nie chcą
> działać jak powinny. Niby wystarczy wymusić odświeżenie strony (w Firefoxie
> ctrl+shift+r), ale jest to dość upierdliwe. Jest jakaś prosta metoda na
> zmuszenie przeglądarki do przeładowywania takich plików, jeśli uległy one
> zmianom? Wydaje mi się, że powinno się to dziać samoczynnie, ale jakoś nie
> chce :(
>
> Podpowiedzcie, co z tym fantem zrobić?
Najprościej to zmiana nazwy pliku. Może w apache idzie zablokować odpowiedź
304.
--
"A cóż to za sens kupować samochód, żeby jeździć po asfalcie?
Tam, gdzie jest asfalt, nie ma nic ciekawego, a gdzie jest
coś ciekawego, tam nie ma asfaltu".
Strugaccy - Poniedziałek zaczyna się w sobotę.
Re: wymuszenie przełądowania pliku ze skryptami
Author: Marek 'Qrczak' Potocki
Date: Thu, 01 Dec 2011 08:36
Date: Thu, 01 Dec 2011 08:36
15 lines
1227 bytes
1227 bytes
Dnia 01 Dec 2011 08:16:48 GMT, Sergiusz Rozanski napisał(a): > Najprościej to zmiana nazwy pliku. Dużo zabawy by z tym było, ale w ostateczności... > Może w apache idzie zablokować odpowiedź > 304. O tym faktycznie nie pomyślałem. Dzięki za trop :) -- Pozdrawiam z Wrocławia Marek Potocki Przewodnik sudecki klasy 0
Re: wymuszenie przełądowania pliku ze skryptami
Author: Sergiusz Rozanski
Date: Thu, 01 Dec 2011 09:00
Date: Thu, 01 Dec 2011 09:00
24 lines
2027 bytes
2027 bytes
Dnia 01.12.2011 Marek 'Qrczak' Potocki <brak@maila.pl> napisał/a:
> Dnia 01 Dec 2011 08:16:48 GMT, Sergiusz Rozanski napisał(a):
>
>> Najprościej to zmiana nazwy pliku.
>
> Dużo zabawy by z tym było, ale w ostateczności...
Jak strona dynamiczna to może pomóc jakiś 'lewy' parametr typu np
w php:
echo "<script src=\"java.js?v=".rand()."\">";
>> Może w apache idzie zablokować odpowiedź
>> 304.
>
> O tym faktycznie nie pomyślałem. Dzięki za trop :)
>
--
"A cóż to za sens kupować samochód, żeby jeździć po asfalcie?
Tam, gdzie jest asfalt, nie ma nic ciekawego, a gdzie jest
coś ciekawego, tam nie ma asfaltu".
Strugaccy - Poniedziałek zaczyna się w sobotę.
Re: wymuszenie przełądowania pliku ze skryptami
Author: Marek 'Qrczak' Potocki
Date: Thu, 01 Dec 2011 09:28
Date: Thu, 01 Dec 2011 09:28
21 lines
1636 bytes
1636 bytes
Dnia 01 Dec 2011 09:00:30 GMT, Sergiusz Rozanski napisał(a): > Dnia 01.12.2011 Marek 'Qrczak' Potocki <brak@maila.pl> napisał/a: >> Dnia 01 Dec 2011 08:16:48 GMT, Sergiusz Rozanski napisał(a): >> >>> Najprościej to zmiana nazwy pliku. >> >> Dużo zabawy by z tym było, ale w ostateczności... > > Jak strona dynamiczna to może pomóc jakiś 'lewy' parametr typu np > w php: > > echo "<script src=\"java.js?v=".rand()."\">"; Dzięki, przetestuję. Tylko nie rand(), a filemtime(), co (chyba) pozwoli na przeładowywanie tylko jeśli plik był zmieniony. -- Pozdrawiam z Wrocławia Marek Potocki Przewodnik sudecki klasy 0
Re: wymuszenie przełądowania pliku ze skryptami
Author: Adam Byrtek
Date: Thu, 01 Dec 2011 15:56
Date: Thu, 01 Dec 2011 15:56
9 lines
1398 bytes
1398 bytes
On 12/01/2011 10:28 AM, Marek 'Qrczak' Potocki wrote: > Dzięki, przetestuję. Tylko nie rand(), a filemtime(), co (chyba) pozwoli na > przeładowywanie tylko jeśli plik był zmieniony. Raczej to drugie, bo pierwsza opcja to wylewanie dziecka z kąpielą (tracisz cały caching). -- Adam Byrtek
Re: wymuszenie przełądowania pliku ze skryptami
Author: Marek 'Qrczak' Potocki
Date: Fri, 02 Dec 2011 05:53
Date: Fri, 02 Dec 2011 05:53
16 lines
1568 bytes
1568 bytes
Dnia Thu, 01 Dec 2011 16:56:41 +0100, Adam Byrtek napisał(a): > On 12/01/2011 10:28 AM, Marek 'Qrczak' Potocki wrote: >> Dzięki, przetestuję. Tylko nie rand(), a filemtime(), co (chyba) pozwoli na >> przeładowywanie tylko jeśli plik był zmieniony. > > Raczej to drugie, bo pierwsza opcja to wylewanie dziecka z kąpielą > (tracisz cały caching). Wygląda nawet, że działa. Podziękowania wielkie dla Sergiusza :) -- Pozdrawiam z Wrocławia Marek Potocki Przewodnik sudecki klasy 0
Re: wymuszenie przełądowania pliku ze skryptami
Author: Sergiusz Rozanski
Date: Fri, 02 Dec 2011 18:51
Date: Fri, 02 Dec 2011 18:51
9 lines
1711 bytes
1711 bytes
Dnia 01.12.2011 Adam Byrtek <adambyrtek@gmail.com> napisał/a: > On 12/01/2011 10:28 AM, Marek 'Qrczak' Potocki wrote: >> Dzięki, przetestuję. Tylko nie rand(), a filemtime(), co (chyba) pozwoli na >> przeładowywanie tylko jeśli plik był zmieniony. > > Raczej to drugie, bo pierwsza opcja to wylewanie dziecka z kąpielą > (tracisz cały caching). Ale to był właśnie taki cel aby pomijać cache i ładować zawsze nowy JS.
Re: wymuszenie przełądowania pliku ze skryptami
Author: Artur Muszyński
Date: Sat, 03 Dec 2011 19:56
Date: Sat, 03 Dec 2011 19:56
11 lines
1613 bytes
1613 bytes
W dniu 2011-12-01 09:16, Sergiusz Rozanski pisze: > Najprościej to zmiana nazwy pliku. Może w apache idzie zablokować odpowiedź > 304. Po co blokować 304? Jeśli serwer odeśle 304, to znaczy, że plik nie został zmodyfikowany i browser powinien wyświetlić, co ma w pamięci podręcznej, w przeciwnym razie powinien przeładować. Może w konfiguracji Apache ktoś przedobrzył, usuwa nagłówek Last-Modified i korzysta z mod_expires. Podejrzyj, co dostajesz w nagłówkach odpowiedzi. artur
Re: wymuszenie przełądowania pliku ze skryptami
Author: Adam Byrtek
Date: Sat, 03 Dec 2011 20:39
Date: Sat, 03 Dec 2011 20:39
14 lines
1774 bytes
1774 bytes
On 12/02/2011 07:51 PM, Sergiusz Rozanski wrote: >> > Raczej to drugie, bo pierwsza opcja to wylewanie dziecka z kąpielą >> > (tracisz cały caching). > Ale to był właśnie taki cel aby pomijać cache i ładować zawsze nowy JS. Celem było pomijać cache jeśli kod uległ zmianie. Jaki sens miałoby ignorowanie go zupełnie i wydłużanie czasu ładowania strony? Nawiasem mówiąc, bardziej eleganckie rozwiązanie to konfiguracja serwera HTTP tak, aby przesyłał poprawne nagłówki ETag dla plików statycznych. -- Adam Byrtek http://adambyrtek.net
Re: wymuszenie przełądowania pliku ze skryptami
Author: Sergiusz Rozanski
Date: Sun, 04 Dec 2011 15:46
Date: Sun, 04 Dec 2011 15:46
20 lines
2202 bytes
2202 bytes
Dnia 03.12.2011 Adam Byrtek <adambyrtek@gmail.com> napisał/a: > On 12/02/2011 07:51 PM, Sergiusz Rozanski wrote: >>> > Raczej to drugie, bo pierwsza opcja to wylewanie dziecka z kąpielą >>> > (tracisz cały caching). >> Ale to był właśnie taki cel aby pomijać cache i ładować zawsze nowy JS. > > Celem było pomijać cache jeśli kod uległ zmianie. Jaki sens miałoby > ignorowanie go zupełnie i wydłużanie czasu ładowania strony? Gdy browsery przychodzą po statyczne pliki i lecą z cache po 304 ... > Nawiasem mówiąc, bardziej eleganckie rozwiązanie to konfiguracja serwera > HTTP tak, aby przesyłał poprawne nagłówki ETag dla plików statycznych. ... to ww jest dobrym wyjściem. Gorzej gdy już było źle i klienci nie przylatują po pliki w ogóle, nawet po 304. Wtedy jedyne rozwiązanie (na szybko) to zmiana pliku, parametru itd. Oczywiście nie na stałe, ale do znalezienia problemu i jego rozwiązania zasugerowałem skuteczny workaround.
Re: wymuszenie przełądowania pliku ze skryptami
Author: Marek 'Qrczak' Potocki
Date: Mon, 05 Dec 2011 05:58
Date: Mon, 05 Dec 2011 05:58
20 lines
1738 bytes
1738 bytes
Dnia Sat, 03 Dec 2011 20:56:03 +0100, Artur Muszyński napisał(a): > W dniu 2011-12-01 09:16, Sergiusz Rozanski pisze: >> Najprościej to zmiana nazwy pliku. Może w apache idzie zablokować odpowiedź >> 304. > > Po co blokować 304? Jeśli serwer odeśle 304, to znaczy, że plik nie > został zmodyfikowany i browser powinien wyświetlić, co ma w pamięci > podręcznej, w przeciwnym razie powinien przeładować. Może w konfiguracji > Apache ktoś przedobrzył, usuwa nagłówek Last-Modified i korzysta z > mod_expires. Podejrzyj, co dostajesz w nagłówkach odpowiedzi. Dziękuję jeszcze raz z rady, podejrzę nagłówki. Wprawdzie na tym serwerze pracuje lighttpd, a nie apache, ale to nie ma raczej większego znaczenia. -- Pozdrawiam z Wrocławia Marek Potocki Przewodnik sudecki klasy 0
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads