Geldigheid van een webpagina beperken
Als je een website gaat bekijken, moet deze van internet worden gehaald. Om het dataverkeer over internet
(enigszins) te beperken worden webpagina's gebufferd (in een cache opgeslagen). Elke browser heeft een buffer.
In netwerken tref je vaak proxyservers aan, die ook als cache optreden.
Als een webpagina wordt geopend, kijkt de browser eerst in de cache of de pagina al beschikbaar is. Als dat niet het geval is wordt de pagina direct opgehaald van de server. Als de pagina wél beschikbaar is wordt gekeken of de pagina op de server recenter is dan de pagina in de cache. Als dat zo is wordt de pagina direct opgehaald. Anders wordt de informatie uit de cache gebruikt.
Bij websites die je vaak bezoekt zal dus meestal de informatie uit de cache worden gehaald. De webpagina hoort ook van de server te worden gehaald als je "Vernieuwen" of "Opnieuw laden" aanklikt. (Ik verdenk EDge en in mindere mate Chrome en FireFox, ervan dat dat niet gebeurt.)
Je kunt je browser zo instellen dat alle informatie altijd van het internet wordt gehaald. Je kunt
dat ook afdwingen door het plaatsen van een META-tag in de HEAD. Dat heeft vooral zin als de inhoud van
je website heel vaak verandert.
Hier staat beschreven hoe je dat aanpakt.
De hier gepresenteerde informatie is een vrije bewerking van de informatie die over dit onderwerp te vinden was op de (Duitstalige) website www.metatab.de. Redelijk recente info staat op nl.wikipedia.org/wiki/Metatag.
- Voorbeelden:
<meta http-equiv="expires" content="1209600">
<meta http-equiv="expires" content="0">
<meta http-equiv="expires" content="-1">
<meta http-equiv="expires"
content="Mon, 1 Jul 2002 00:00:00 UTC"> - In het eerste voorbeeld bevat content een getal in seconden. De tijd wordt gerekend vanaf het moment dat de pagina in de cache wordt geplaatst. Daarna wordt een nieuwe versie van de server gehaald. In dit voorbeeld is de pagina twee weken geldig (een etmaal is 24 uur x 60 minuten x 60 seconden = 86400 seconden; 2 weken = 2 x 7 etmalen = 14 x 86400 seconden = 1209600 seconden).
- In het tweede voorbeeld bevat de content een nul. Hiermee wordt bereikt dat de pagina wel in de cache wordt opgeslagen, maar bij herhaalde oproep (als je bijvoorbeeld op de knop 'vernieuwen' drukt) weer van de webserver wordt geladen.
- In het derde voorbeeld bevat de content het getal -1. Hiermee wordt bereikt dat de pagina helemaal
niet in de cache wordt opgeslagen, maar altijd opnieuw van de webhost wordt geladen.
Ooit werkte met Trident-browsers (o.a. Internet Explorer). In browsers die zijn gebaseerd op de Gecko-engine (o.a. FireFox) werkt dat niet, dan gebruik je:
<meta http-equiv="pragma" content="no-cache">. - In het vierde voorbeeld bevat de content een datum. Na afloop van deze datum wordt de pagina opnieuw van
de server gehaald.
De afkorting UTC staat voor Coordinated Universal Time. Dit is het zelfde als GMT, de Greenwich Mean Time. Alle in deze META-tag gebruikte tijdsaanduidingen worden gegeven ten opzichte van UTC, al dan niet met een gedefinieerde afwijking om te compenseren voor de tijdzone.- Voor Nederland is de tijdzone-correctie gelijk aan +1:00 uur. Er is daarbij
geen rekening gehouden met een eventuele zomertijd.
Voor andere landen dan Nederland vind je de correctie in onderstaande lijst:
- De datum moet je opgeven in het W3CDTF-formaat. Dat is de standaard aanduiding voor datum en tijd van W3C, de instantie die de HTML-standaarden maakt.
- De volgende formaten zijn mogelijk:
- Jaar:
JJJJ
Voorbeeld: 2003 - Jaar en Maand:
JJJJ-MM
Voorbeeld: 2003-12 - Jaar, Maand, Dag:
JJJJ-MM-DD
Voorbeeld: 2003-12-10 - Jaar, Maand, Dag, Uren, Minuten:
JJJJ-MM-DD:Thh:mmTZD
Voorbeeld: 2003-12-10T10:15+1:00 - Jaar, Maand, Dag, Uren, Minuten, Seconden:
JJJJ-MM-DD:Thh:mm:ssTZD
Voorbeeld: 2003-12-10T10:15:22+1:00 - Jaar, Maand, Dag, Uren, Minuten, Seconden, Delen van seconden:
JJJJ-MM-DD:Thh:mm:ss.sTZD
Voorbeeld: 2003-12-10T10:15:22.538+1:00
- Jaar:
- De afkortingen betekenen:
- JJJJ Jaar, altijd vier cijfers.
- MM Maand, twee cijfers.
- DD Dag, twee cijfers.
- hh Uren, twee cijfers.
- mm Minuten, twee cijfers.
- ss Seconden, twee cijfers.
- s Deel van een seconde, één of meerdere decimalen.
- TZD Time Zone Deviation (Afwijking van de Tijdzone). Aan te geven als +hh:mm of -hh:mm.
Als er geen afwijking is van UTC gebruik je Z. De aanduidingen +00:00 en -00:00 worden dus niet gebruikt. - Waar nodig worden de aanduidingen MM, DD, hh, mm en ss voorzien van een voorloop-nul.
- Voorbeelden:
(geen afwijking van UTC) 2003-12-10T10:15:22.538Z
(Noord-Australië; +9½ uur) 2003-12-10T10:15:22.538+9:30
- Voor Nederland is de tijdzone-correctie gelijk aan +1:00 uur. Er is daarbij
geen rekening gehouden met een eventuele zomertijd.
Gebruik:
- De code staat in de <HEAD>.
De code ziet er als volgt uit:
(Zie de voorbeelden aan het begin van deze bladzijde).