Jak nie cache-ować plików?

Witam. Chciałbym napisać stronę na której byłby wstawiony plik javascriptu, ale nie chciałbym, aby był on cache-owany. Czy jest możliwe stworzenie takiego kodu??? Oczywiście nie w sekcji HEAD. Z góry dzięki za pomoc.

http://pl2.php.net/manual/pl/function.header.php

i jest tam pewien przykład:

i tak dalej… więcej w powyższym linku.

Dla większej pewności możesz zastosować takie coś:

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');

header('Cache-Control: no-store, no-cache, must-revalidate');

header('Cache-Control: post-check=0, pre-check=0', false);

header('Pragma: no-cache');

Dzięki bardzo, wszystko działa tak jak chciałem chociaż nic z tego nie rozumiem :mrgreen:.

Ale z drugiej strony przydałoby się wiedzieć, więc jakbyś mógł to objaśnij co robią poszczególne linijki.

Ogólnie rzecz ujmując header() to funkcja wysyłająca nagłowek do przeglądarki, np. nagłówek przekierowujący przeglądarkę na inny adres, nagłówek wymuszający wyświetlenie okienka pobierania, czy wysyłający kod błędu HTTP.

Natomiast w naszym przypadku:

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

Mówi przeglądarce kiedy dokument “wygaśnie”. Dajemy tu datę z przeszłości, żeby poinformować, że nasz już wygasł. Oznacza to dla przeglądarki mniej więcej to, że strona jest stara i w razie co trzeba ją pobrać całkowicie od nowa (z obrazkami, stylami, itp.)

header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');

Tu wysyłamy datę ostatniej modyfikacji. Jak nietrudno zauważyć, nasza data jest obecna, co mniej więcej można zinterpretować jako “ciągle modyfikowany”.

header('Cache-Control: no-store, no-cache, must-revalidate');

header('Cache-Control: post-check=0, pre-check=0', false);

To są nagłówki mówiące, by nie buforować strony, ale dla protokołu HTTP 1.1

header('Pragma: no-cache');

A to dla protokołu HTTP 1.0

Jeszcze zacytuję na koniec manuala:

Dziwne że znalazło się na ostatniej stronie w dziale Webmastering.

viewtopic.php?f=18&t=222749