Jak mogę sprawdzić plik javascript w pamięci podręcznej użytkownika. Jeśli odświeży stronę lub odwiedzi witrynę po pewnym czasie. Nie muszę ponownie pobierać tego pliku js. Czy pliki js zostaną wyczyszczone po zamknięciu witryny.Sprawdź pamięć podręczną przeglądarki dla pliku js.
Odpowiedz
To, czy plik javascript jest zapisany w pamięci podręcznej, zależy od konfiguracji serwera, konfiguracji przeglądarki użytkownika oraz konfiguracji serwerów proxy HTTP między serwerem a użytkownikiem. Jedynym bitem, który możesz kontrolować, jest konfiguracja twojego serwera.
Jeśli chcesz uzyskać najlepszą możliwość buforowania javascript, serwer musi wysyłać odpowiednie nagłówki HTTP z plikiem javascript. Dokładnie to, jak to zrobisz, zależy od tego, z jakiego serwera WWW korzystasz.
Oto kilka linków, które mogą pomóc:
Apache - http://httpd.apache.org/docs/2.0/mod/mod_expires.html
Przeglądarka automatycznie dbać o to, co ma w jego własnej pamięci podręcznej. Istnieją jednak różne mechanizmy, które można wykorzystać do jej kontrolowania.
patrzeć w różnych nagłówków buforowania HTTP, takich jak:
- Last-Modified
- Wygasa
- ETag
Nagłówek Expires jest najważniejszym z nich, jeśli chodzi do buforowania po stronie klienta. Jeśli ustawisz przyszły nagłówek Expires na przyszłość (np. 10 lat), przeglądarka nie będzie (teoretycznie) zwracać się do serwera ponownie dla tego pliku. Oczywiście potrzebna jest metoda zmiany nazwy pliku, gdy zmieni się zawartość pliku. Większość osób zarządza tym, dodając numer kompilacji do ścieżki pliku.
Przeglądarka zajmie się buforowaniem.
Gdy pamięć podręczna zostanie opróżniona, zależy częściowo od ustawień przeglądarki i częściowo od wysyłanych nagłówków. Jeśli ustawisz nagłówek Expires
, przeglądarka nie powinna ponownie żądać pliku, dopóki nie wygasnie. Czytanie o numerze HTTP Headers może ci pomóc.
- 1. jak ustawić pamięć podręczną dla pliku css/js
- 2. Nginx, wyłącz pamięć podręczną dla określonego pliku
- 3. wyczyść pamięć podręczną przeglądarki, używając wiersza polecenia
- 4. Mod_pagespeed usunąć pamięć podręczną?
- 5. Resetuj pamięć podręczną dla Dappera
- 6. PhantomJS przechowuje pamięć podręczną
- 7. Wykorzystaj pamięć podręczną przeglądarki | modyfikowanie pliku .htaccess | - nie działa dla plików javascript
- 8. Jak automatycznie wyczyścić pamięć podręczną przeglądarki w Selenium WebDriver?
- 9. HTML5 pamięć podręczną aplikacji manifest rozszerzenie pliku
- 10. Wyłącz pamięć podręczną dla określonego pliku za pomocą Apache'a
- 11. Jak programowo wyczyścić pamięć podręczną przeglądarki na iPhone'ie?
- 12. Symfony2 wyłączyć pamięć podręczną?
- 13. Jak wyczyścić pamięć podręczną pracownika serwisu?
- 14. Jak wyłączyć pamięć podręczną przeglądarki w asp.net mvc 3?
- 15. jak programowo wyczyścić pamięć podręczną przeglądarki w jsp?
- 16. Link HTML pomijający pamięć podręczną?
- 17. Jak wyświetlić pamięć podręczną aplikacji dla Androida?
- 18. Wyczyść pamięć podręczną Magento
- 19. Wyczyść pamięć podręczną NSURLConnection
- 20. gecko wyczyść pamięć podręczną historia i ciasteczka
- 21. Jak wyczyścić pamięć podręczną Smarty'ego
- 22. Jak zresetować pamięć podręczną czcionek css
- 23. Jak wyczyścić pamięć podręczną DNS klienta System.Net?
- 24. Jak całkowicie wyłączyć pamięć podręczną?
- 25. Jak skonfigurować pamięć podręczną dla zasobów statycznych w pliku web.xml dla Jetty?
- 26. Jak testować pamięć podręczną ETag?
- 27. Jak wyczyścić pamięć podręczną Androida
- 28. Jak wyłączyć pamięć podręczną portletu Liferay?
- 29. Wyczyść pamięć podręczną doktryn w pliku redis na wdrożenie
- 30. Przechowuj pamięć podręczną do pliku functools.lru_cache w Pythonie> = 3.2
To pytanie jest głęboko zagmatwane do punktu bezużyteczności, i nie mam pojęcia, dlaczego to się stało. Najpierw mówisz, nie wyjaśniając dlaczego, że chcesz sprawdzić, czy przeglądarka ma buforowany plik (co jest możliwe, ale tylko poprzez ataki czasowe, nie ma dla niego API). Następnie mówisz, że chcesz to wiedzieć, aby uniknąć ponownego pobierania pliku, ale przeglądarka * obsługuje tę logikę *, jeśli dasz mu odpowiednie nagłówki, więc ta motywacja wydaje się nie mieć sensu. Na koniec pytasz o inne niezwiązane i niejasne pytanie o to, czy pliki js "zostaną oczyszczone" po zamknięciu witryny. Huh? –
@MarkAmery Czy możesz połączyć wyjaśnienie czeku "czas ataku"? – setec
@setec Oto artykuł naukowy na ten temat sprzed 15 lat: http://sip.cs.princeton.edu/pub/webtiming.pdf. Nie zostało to naprawione od tego czasu, mimo że jest to luka w prywatności. Wersja tl; dr to: zrób '' tag z atrybutami 'onload' i' onerror' wskazujący na URL, który cię interesuje, i użyj JavaScript, aby określić, ile czasu zajmuje wywołanie jednej z funkcji obsługi. Jeśli minie kilka milisekund, użytkownik miał buforowany docelowy adres URL. –