7.1 Keep-Alive-Header

Und noch ein paar nützliche Titel. Der Keep-Alive- Header weist den Server an, die Verbindung offen zu halten: Der Server wird die Verbindung nicht sofort nach dem Senden der Antwort schließen. Dadurch wird die nächste Anfrage desselben Clients an den Server schneller abgeschlossen.

Ein Beispiel für einen solchen Header:

Connection: Keep-Alive

Wenn jedoch alle Clients eine dauerhafte Verbindung benötigen, beginnen die Probleme beim Server. Der Server ist entweder nicht verfügbar oder beginnt von selbst, Verbindungen zu schließen.

7.2 Cache-Control-Header

Der Cache-Control- Header kann zur Steuerung des Inhalts-Cachings verwendet werden . Richtig konfiguriertes Caching beschleunigt die Arbeit mit Inhalten, falsch konfiguriertes Caching führt aus heiterem Himmel zu Problemen.

Um das Caching zu deaktivieren, müssen Sie den folgenden Header schreiben:

Cache-Control: no-cache, no-store, must-revalidate

Im Cache sollte nichts gespeichert werden – weder von Client-Anfragen noch von Server-Antworten. Die Anfrage wird immer an den Server gesendet, die Antwort wird immer vollständig heruntergeladen.

Sie können auch die einfachste und zuverlässigste Art des Cachings aktivieren :

Cache-Control: no-cache

Bevor eine Kopie ausgegeben wird, fragt der Cache den Ursprungsserver ab, ob die Ressource aktuell ist.

Sie können die Ressourcen-Cache-Zeit in Sekunden angeben . Die Überschrift sieht folgendermaßen aus:

Cache-Control: max-age=31536000

Dieser Header gibt die maximale Cache-Zeit für Inhalte an.

Weitere Informationen zum Caching finden Sie hier.

7.3 Cookies

Der Server kann Daten auf der Clientseite speichern . Solche Daten werden als Cookie bezeichnet . Der Kunde kann das Cookie jedoch auch speichern. Sie sind für beide Seiten sehr hilfreich.

Sie gehen beispielsweise auf die Website und sind dort bereits autorisiert. Das heißt, als Sie sich das letzte Mal angemeldet haben, hat der Server den Browser angewiesen, Informationen über die erfolgreiche Anmeldung eines bestimmten Benutzers zu speichern.

So sieht das Cookie in einer Anfrage aus:

Cookie: name=value;name2=value2;nameN=valueN00

Cookies werden in der Regel vom Browser gespeichert und sind an eine bestimmte Domain gebunden . Wenn Sie dieselbe Domain erneut besuchen, werden der http-Anfrage und der http-Antwort automatisch Cookies hinzugefügt. Der Server/die Domäne kann keine Cookies empfangen, die von einem anderen Server/einer anderen Domäne im Browser gespeichert werden.

Jedes Cookie hat 4 Hauptparameter:

  • Name;
  • Bedeutung;
  • Gültigkeitsdauer (wie lange werden sie aufbewahrt);
  • die Domain, an die das Cookie gebunden ist.

Cookies werden in Textform gespeichert und übertragen, sodass sowohl Name als auch Wert Zeichenfolgen sind. Wenn die Ablaufzeit der Cookies nicht angegeben ist, werden sie nach dem Schließen des Browsers gelöscht.

7.4 Sitzung

Nachdem sich der Benutzer auf der Site angemeldet hat, wird ihm mitgeteilt, dass eine Sitzung zwischen der Site und dem Server eingerichtet wurde.

Der Server erstellt in sich selbst ein spezielles Objekt, HttpSession,in dem er alle notwendigen Informationen speichert, um mit einem autorisierten Client zusammenzuarbeiten. Und die eindeutige Nummer dieses Objekts wird im Browser in Form eines Cookies gespeichert.

Java-Webserver verwenden normalerweise einen Namen JSESSIONIDzum Speichern der Sitzungs-ID. Es sieht ungefähr so ​​aus:

Cookie: JSESSIONID =ABAD1D

Auf der Serverseite können Sie die Lebensdauer der Sitzung festlegen und festlegen, ob diese beim Schließen des Browsers automatisch geschlossen wird.