7.1 Keep-Alive-koptekst
En nog een paar handige titels. De Keep-Alive- header vertelt de server om de verbinding open te houden: de server sluit de verbinding niet onmiddellijk na het verzenden van het antwoord. Hierdoor wordt het volgende verzoek van dezelfde client aan de server sneller voltooid.
Een voorbeeld van zo'n header:
Connection: Keep-Alive
Maar als alle clients een permanente verbinding nodig hebben, beginnen de problemen bij de server. De server is ofwel niet beschikbaar of begint zelf verbindingen te sluiten.
7.2 Cache-Control-header
De Cache-Control- header kan worden gebruikt om inhoudcaching te beheren. Goed geconfigureerde caching versnelt het werken met inhoud, verkeerd geconfigureerde caching zorgt voor problemen uit het niets.
Om caching uit te schakelen, moet u de volgende header schrijven:
Cache-Control: no-cache, no-store, must-revalidate
Er mag niets in de cache worden opgeslagen - noch van clientverzoeken, noch van serverreacties. Het verzoek wordt altijd naar de server gestuurd, het antwoord wordt altijd volledig gedownload.
U kunt ook het meest primitieve en betrouwbare type caching inschakelen :
Cache-Control: no-cache
Voordat een kopie wordt uitgegeven, vraagt de cache de oorspronkelijke server om te zien of de bron up-to-date is.
U kunt de resourcecachetijd in seconden specificeren . De kop ziet er als volgt uit:
Cache-Control: max-age=31536000
Deze header specificeert de maximale cachetijd voor inhoud.
Je kunt hier meer lezen over caching.
7.3 Cookies
De server kan gegevens aan de clientzijde opslaan . Dergelijke gegevens worden een cookie genoemd . De klant kan de cookie echter ook opslaan. Ze zijn erg behulpzaam voor beide partijen.
U gaat bijvoorbeeld naar de site en u bent er al geautoriseerd. Dat wil zeggen, toen u zich de laatste keer aanmeldde, gaf de server de browser de opdracht om informatie op te slaan over de succesvolle login van een bepaalde gebruiker.
Zo ziet de cookie eruit in een verzoek:
Cookie: name=value;name2=value2;nameN=valueN00
Cookies worden meestal door de browser opgeslagen en zijn gekoppeld aan een specifiek domein . Wanneer je hetzelfde domein opnieuw bezoekt, worden er automatisch cookies toegevoegd aan het http-verzoek en het http-antwoord. De server/het domein kan geen cookies ontvangen die door een andere server/domein in de browser zijn opgeslagen.
Elke cookie heeft 4 hoofdparameters:
- Naam;
- betekenis;
- geldigheidsduur (hoe lang ze moeten worden bewaard);
- het domein waaraan de cookie is gebonden.
Cookies worden in tekstvorm opgeslagen en verzonden, dus zowel de naam als de waarde zijn tekenreeksen. Als de vervaltijd van cookies niet is gespecificeerd, worden ze vernietigd nadat de browser is gesloten.
7.4 sessie
Nadat de gebruiker is ingelogd op de site, zeggen ze dat er een sessie tot stand is gebracht tussen de site en de server.
De server maakt op zichzelf een speciaal object - HttpSession,
waar het alle benodigde informatie opslaat om met een geautoriseerde client te werken. En het unieke nummer van dit object wordt in de browser opgeslagen in de vorm van een Cookie.
Java-webservers gebruiken meestal een naam JSESSIONID
om de sessie-ID op te slaan. Het ziet er ongeveer zo uit:
Cookie: JSESSIONID =ABAD1D
Aan de serverzijde kunt u de levensduur van de sessie instellen, evenals of deze automatisch wordt gesloten wanneer de browser wordt gesloten.
GO TO FULL VERSION