304
Not Modified
Specificarea codului de stare HTTP 304
Codul de stare 304 Not Modified indică faptul că a fost primită o solicitare GET sau HEAD condiționată și ar fi avut ca rezultat un răspuns 200 (OK) dacă nu ar fi fost faptul că condiția a fost evaluată ca fiind falsă. Cu alte cuvinte, nu este necesar ca serverul să transfere o reprezentare a resursei țintă, deoarece cererea indică faptul că clientul, care a făcut cererea condiționată, are deja o reprezentare validă; prin urmare, serverul redirecționează clientul pentru a utiliza acea reprezentare stocată ca și cum ar fi conținutul unui răspuns 200 (OK).
Serverul care generează un răspuns 304 Not Modified TREBUIE să genereze oricare dintre următoarele câmpuri de antet care ar fi fost trimise într-un răspuns 200 (OK) la aceeași cerere:
- Content-Location, Date, ETag și Vary
- Cache-Control și Expires (a se vedea [CACHING])
Din moment ce scopul unui răspuns 304 Not Modified este de a minimiza transferul de informații atunci când destinatarul are deja una sau mai multe reprezentări în cache, un expeditor NU TREBUIE să genereze metadate de reprezentare, altele decât câmpurile enumerate mai sus, decât dacă respectivele metadate există în scopul de a ghida actualizările cache-ului (de ex.g., Last-Modified ar putea fi utilă dacă răspunsul nu are un câmp ETag).
Cerințele impuse unui cache care primește un răspuns 304 Not Modified sunt definite în secțiunea 4.3.4 din [CACHING]. Dacă cererea condiționată provine de la un client de ieșire, cum ar fi un agent utilizator cu propriul cache care trimite un GET condiționat către un proxy partajat, atunci proxy-ul TREBUIE să transmită răspunsul 304 Not Modified către acel client.
Un răspuns 304 Not Modified se termină cu sfârșitul secțiunii antetului; acesta nu poate conține conținut sau remorci.
Sursa / Citat din: Codul de stare HTTP 304 Not Modified este specificat în secțiunea 15.4.5 din RFC9110.
Protocolul HTTP
Cum să arunci un cod de stare 304 cu PHP?
Pentru a afișa codul de stare HTTP 304 pe o pagină web, se poate utiliza funcția PHP http_response_code. Sintaxa este următoarea: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testați codul de stare HTTP 304
Pentru a putea afișa codul de stare HTTP (în acest caz 304 Not Modified) și alte informații pe partea clientului, consola de dezvoltare trebuie deschisă cu F12. Apoi navigați la fila "Network" (Rețea). Acum pagina poate fi deschisă, site-ul web (exemplu index.php) ar trebui să fie vizibil în fila rețea. Acesta trebuie selectat și apoi trebuie selectată secțiunea Herder. Utilizatorul va vedea apoi următorul rezultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Stare: 304 Not Modified
Cei de la: Network
Adresa IP: XX.XX.XX.XX
Compatibilitatea browserului cu codul de stare 304
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
Safari | Yes |
Chrome Android | Yes |
Firefox for Android | Yes |
Opera Android | Yes |
Safari on iOS | Yes |
Internet | Yes |
WebView Android | Yes |
Constante în limbajele de programare
Link-uri externe cu informații suplimentare despre codul de stare HTTP 304:
Meme-uri amuzante despre codul de stare HTTP 304
Articole de blog
Caching și codurile de stare HTTP: Optimizarea performanțelor web prin memorare inteligentă în cache
Performanța web și experiența utilizatorului care rezultă sunt aspecte centrale pentru succesul oricărui site web. Un factor semnificativ care afectează această performanță este reprezentat de codu...