7.1 Intestazione Keep-Alive

E qualche altro titolo utile. L' intestazione Keep-Alive dice al server di mantenere aperta la connessione: il server non chiuderà la connessione immediatamente dopo aver inviato la risposta. Ciò farà sì che la richiesta successiva dallo stesso client al server venga completata più velocemente.

Un esempio di tale intestazione:

Connection: Keep-Alive

Ma se tutti i client richiedono una connessione permanente, i problemi inizieranno sul server. Il server non sarà disponibile o inizierà a chiudere le connessioni da solo.

7.2 Intestazione Cache-Control

L'intestazione Cache-Control può essere utilizzata per controllare la memorizzazione nella cache dei contenuti. La memorizzazione nella cache configurata correttamente accelera il lavoro con i contenuti, la memorizzazione nella cache configurata in modo errato crea problemi di punto in bianco.

Per disabilitare la memorizzazione nella cache, è necessario scrivere la seguente intestazione:

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

Nulla dovrebbe essere memorizzato nella cache, né dalle richieste del client, né dalle risposte del server. La richiesta viene sempre inviata al server, la risposta viene sempre scaricata completamente.

Puoi anche abilitare il tipo di memorizzazione nella cache più primitivo e affidabile :

Cache-Control: no-cache

Prima di distribuire una copia, la cache interroga il server di origine per vedere se la risorsa è aggiornata.

È possibile specificare il tempo di cache della risorsa in secondi . L'intestazione sarà simile a questa:

Cache-Control: max-age=31536000

Questa intestazione specifica il tempo massimo di cache per il contenuto.

Puoi leggere ulteriori informazioni sulla memorizzazione nella cache qui.

7.3 Cookie

Il server può memorizzare i dati sul lato client . Tali dati sono chiamati cookie . Tuttavia, il client può anche memorizzare il cookie. Sono molto utili per entrambe le parti.

Ad esempio, vai sul sito e sei già autorizzato. Cioè, quando hai effettuato l'accesso l'ultima volta, il server ha ordinato al browser di memorizzare le informazioni sull'accesso riuscito di un determinato utente.

Ecco come appare il cookie in una richiesta:

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

I cookie vengono solitamente memorizzati dal browser e sono legati a un dominio specifico . Quando visiti nuovamente lo stesso dominio, i cookie vengono aggiunti automaticamente alla richiesta http e alla risposta http. Il server/dominio non può ricevere i cookie che vengono memorizzati nel browser da un altro server/dominio.

Ogni cookie ha 4 parametri principali:

  • Nome;
  • Senso;
  • periodo di validità (per quanto tempo conservarli);
  • il dominio a cui è associato il cookie.

I cookie vengono memorizzati e trasmessi in forma di testo, quindi sia il nome che il valore sono stringhe. Se il tempo di scadenza dei cookie non è specificato, vengono distrutti dopo la chiusura del browser.

7.4 sessione

Dopo che l'utente ha effettuato l'accesso al sito, dice che è stata stabilita una sessione tra il sito e il server.

Il server crea di per sé un oggetto speciale, HttpSession,in cui memorizza tutte le informazioni necessarie per lavorare con un client autorizzato. E il numero univoco di questo oggetto viene memorizzato nel browser sotto forma di cookie.

I server Web Java di solito utilizzano un nome JSESSIONIDper memorizzare l'ID di sessione. Assomiglia a questo:

Cookie: JSESSIONID =ABAD1D

Sul lato server, puoi impostare la durata della sessione, nonché se verrà chiusa automaticamente alla chiusura del browser.