7.1 Antet Keep-Alive

Și încă câteva titluri utile. Antetul Keep-Alive îi spune serverului să mențină conexiunea deschisă: serverul nu va închide conexiunea imediat după trimiterea răspunsului. Acest lucru va face ca următoarea cerere de la același client către server să fie finalizată mai rapid.

Un exemplu de astfel de antet:

Connection: Keep-Alive

Dar dacă toți clienții necesită o conexiune permanentă, atunci problemele vor începe la server. Serverul fie va fi indisponibil, fie va începe să închidă conexiunile de la sine.

7.2 Antetul Cache-Control

Antetul Cache-Control poate fi folosit pentru a controla stocarea în cache a conținutului. Memorarea în cache configurată corect accelerează lucrul cu conținutul, memoria cache configurată greșit creează probleme din senin.

Pentru a dezactiva stocarea în cache, trebuie să scrieți următorul antet:

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

Nimic nu ar trebui să fie stocat în cache - nici din solicitările clientului, nici din răspunsurile serverului. Solicitarea este întotdeauna trimisă la server, răspunsul este întotdeauna descărcat complet.

De asemenea, puteți activa cel mai primitiv și mai fiabil tip de cache :

Cache-Control: no-cache

Înainte de a oferi o copie, memoria cache interogează serverul de origine pentru a vedea dacă resursa este actualizată.

Puteți specifica timpul de cache al resursei în secunde . Titlul va arăta astfel:

Cache-Control: max-age=31536000

Acest antet specifică timpul maxim de cache pentru conținut.

Puteți citi mai multe despre stocarea în cache aici.

7.3 Cookie-uri

Serverul poate stoca date pe partea clientului . Astfel de date se numesc cookie . Cu toate acestea, clientul poate stoca și cookie-ul. Sunt foarte utile ambelor părți.

De exemplu, mergi pe site și ești deja autorizat pe el. Adică, când v-ați autentificat ultima dată, serverul a ordonat browserului să stocheze informații despre autentificarea cu succes a unui anumit utilizator.

Iată cum arată cookie-ul într-o solicitare:

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

Cookie-urile sunt de obicei stocate de browser și sunt legate de un anumit domeniu . Când vizitați din nou același domeniu, cookie-urile sunt adăugate automat la cererea http și la răspunsul http. Serverul/domeniul nu poate primi cookie-uri care sunt stocate în browser de un alt server/domeniu.

Fiecare cookie are 4 parametri principali:

  • Nume;
  • sens;
  • perioada de valabilitate (cât timp se păstrează);
  • domeniul la care este legat cookie-ul.

Cookie-urile sunt stocate și transmise sub formă de text, așa că atât numele, cât și valoarea sunt șiruri. Dacă timpul de expirare a cookie-urilor nu este specificat, atunci acestea sunt distruse după ce browserul este închis.

7.4 sesiune

După ce utilizatorul s-a autentificat pe site, acesta spune că s-a stabilit o sesiune între site și server.

Serverul creează un obiect special în sine - HttpSession,unde stochează toate informațiile necesare pentru a lucra cu un client autorizat. Iar numărul unic al acestui obiect este stocat în browser sub forma unui Cookie.

Serverele web Java folosesc de obicei un nume JSESSIONIDpentru a stoca ID-ul sesiunii. Arata cam asa:

Cookie: JSESSIONID =ABAD1D

Pe partea de server, puteți seta durata de viață a sesiunii, precum și dacă se va închide automat când browserul este închis.