304

Not Modified

Oficial
Resursa nu trebuie retransmisă, deoarece nu a avut loc nicio modificare.

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:

  1. Content-Location, Date, ETag și Vary
  2. 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

lucrări în curs

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:

Cod de stare 304 Not Modified
Prezentare generală
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Stare: 304 Not Modified
Cei de la: Network
Adresa IP: XX.XX.XX.XX
Cod de stare 304 Not Modified

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

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

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...

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser este un dezvoltator web entuziast cu o înclinație pentru codurile de stare HTTP.

LinkedInGitHub