Avatar billede mclemens Nybegynder
30. september 2006 - 11:24 Der er 3 kommentarer og
1 løsning

Disable caching

Jeg har p.t. følgende i min php fil:

/* Sider skal ikke caches */
header('Expires: '.gmdate('D, d M Y H:i:s', (time()-86400)).' 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');


... Umiddelbart virker denne fint nok i min IE 6.0:

/* Sider skal ikke caches */
header('Expires: '.gmdate('D, d M Y H:i:s', (time()-86400)).' GMT');
header('Cache-Control: must-revalidate');

Er der nogle problemer med at forkorte til det ...
proxy server caches andre browsere der skal have pragma eller ?

( iflg. http://blogs.msdn.com/ie/archive/2006/06/01/613132.aspx er det med header('Cache-Control: post-check=0, pre-check=0', false); jo noget rod )
Avatar billede htm Nybegynder
30. september 2006 - 18:08 #1
Denne fortæller browseren at siden er "udløb" for 24 timer siden, så hvis tiden nyere end den skal den hente ny version.
header('Expires: '.gmdate('D, d M Y H:i:s', (time()-86400)).' GMT');

Denne fortæller browseren at dokumentet sidst er ændret nu.
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');

Denne fortæller browseren i følge HTTP/1.1 protokollen at siden ikke skal caches.
header('Cache-Control: no-store, no-cache, must-revalidate');

Denne fortæller browseren i følge HTTP/1.0 protokollen at siden ikke skal caches.
header('Pragma: no-cache');

Den sidste har jeg aldrig brugt, men det er også en del af HTTP/1.1 protokollen.

Jeg mener de alle er vigtige at have med hvis man sikrer sig at siden aldrig bliver cachet uanset browseren eller proxyserveren forstår HTTP/1.0 eller HTTP/1.1 eller klientens ur ikke lige går helt korrekt.

Prøv også og læs her: http://www.sitepoint.com/article/php-anthology-2-5-caching
Avatar billede mclemens Nybegynder
30. september 2006 - 19:07 #2
Ok, de egenlige linjer er jeg klar over hvad betyder.
- Jeg har selv valgt at tage nuværende tid og trække 1 dag
fra i exxpires headeren (det skal jo ikke ligne gamle dataer heller).

Tak for linket, dog har de den samme generalle linje
header('Cache-Control: post-check=0, pre-check=0', false);
med som man ser flere stedet ... så indholdet er ikke mere end
jeg har læst på php.net og andre sider ...

- Det jeg søgte var dette: [ Jeg mener de alle er vigtige at have med hvis man sikrer sig at siden aldrig bliver cachet uanset browseren eller proxyserveren forstår HTTP/1.0 eller HTTP/1.1 ]

Kast et svar :)
Avatar billede htm Nybegynder
30. september 2006 - 19:39 #3
ok - men kast selv et svar også... Det svar er ikke 200 point værd.
Avatar billede mclemens Nybegynder
30. september 2006 - 19:49 #4
^ Joh, det er fint nok ;)
... Det var rart at få feedback på tråden.

... Også godt nok med forklaringen på mine php
linjer såfremt der er andre der skal bruge det :)


Vælger nok:
/* Sider skal ikke caches */
header('Expires: '.gmdate('D, d M Y H:i:s', (time()-86400)).' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: no-cache');

Måske med last-modified ... er ikke helt sikker ...
(jeg vil lige dykke lidt rundt senere og se om jeg kan
finde noget om hvornår skiftet fra http1.0 til 1.1 skete ...)
- og måske lege med den korte udgave, hvor jeg kun tager hensyn
til 1.1 som nævnt i spørgsmålet ... men vil først surfe (bare lidt
surt at nettet er fyldt op med sider der fortæller det samme ,.. tænker
på header('Cache-Control: post-check=0, pre-check=0', false);
... som er forkert iflg. ms ... )

... Og tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB