Cum se remediază eroarea de stare HTTP 204 (fără conținut)?

Publicat: 2024-01-26

Cuprins
Ce înseamnă HTTP 204?
Codul de răspuns HTTP 204 Referințe
Cum se rezolvă problema HTTP 204?
Impactul HTTP 204 Niciun conținut asupra SEO
Unele scenarii de utilizare a codului de răspuns HTTP 204 Fără conținut
Diferența dintre HTTP 204 și 200
Diferența dintre HTTP 204 și 404
Concluzie
întrebări frecvente

Ce înseamnă HTTP 204?

Codul de răspuns HTTP 204 fără conținut indică faptul că serverul și-a făcut treaba îndeplinind cererea, adică trimisă de client, dar serverul nu a găsit niciun conținut de trimis înapoi clientului.

Cu alte cuvinte, îl puteți înțelege deoarece serverul a finalizat cererea, dar serverul nu are informații de trimis înapoi și clientul nu trebuie să părăsească pagina curentă.

Notă : Codul de stare HTTP 204 este considerat cacheabil în mod implicit, ceea ce înseamnă că serverele proxy și clienții sunt liberi să memoreze în cache răspunsurile. De asemenea, serverul poate include un antet Etag în acest caz.

S-ar putea să existe cazuri în care doriți să înlocuiți acest comportament implicit, în acest sens puteți include anteturi suplimentare de cache HTTP în răspuns.


Codul de răspuns HTTP 204 Referințe

  • Șine HTTP Simbol de stare:no_content
  • Rugină http::StatusCode::NO_CONTENT
  • Răspuns constant pentru starea HTTP Symfony::HTTP_NO_CONTENT
  • Accesați constanta de stare HTTP http.StatusNoContent
  • Constanta de stare HTTP Python3.5+ http.HTTPStatus.NO_CONTENT
  • .NET HttpStatusCode.NoContent
  • Java java.net.HttpURLConnection.HTTP_NO_CONTENT
  • Apache HttpComponents Core org.apache.hc.core5.http.HttpStatus.SC_NO_CONTENT
  • Angular @angular/common/http/HttpStatusCode.NoContent

Cum se rezolvă problema HTTP 204?

Cu toate acestea, codul de stare HTTP 204 nu este o eroare și a fost implementat în mod intenționat pentru a afișa o solicitare reușită în care serverul a procesat cererea clientului, dar nu a avut conținut de returnat.

Dar uneori, neintenționat, se poate declanșa dintr-o dată sau s-ar putea să-l vezi într-o situație nepotrivită. Pentru a aborda un astfel de scenariu, iată câteva dintre metodele necesare pe care ar trebui să le luați în considerare.

1. Verificați Configurațiile serverului

Dacă ați configurat greșit serverul, poate duce la un răspuns HTTP 204 neintenționat. Prin urmare, trebuie să verificați configurația serverului dvs., în special cele legate de gestionarea răspunsurilor HTTP, este corect aliniată cu cerințele aplicației dvs.

De asemenea, luați în considerare verificarea jurnalelor de erori ale serverului pentru detalii aprofundate.

2. Utilizați instrumente SEO

Deoarece am discutat deja că, dacă adresele URL returnează un cod de răspuns HTTP 204, motoarele de căutare nu le vor indexa, puteți utiliza diverse instrumente SEO, cum ar fi SEMRUSH sau Screamfrog, pentru a afla codul de răspuns HTTP 204 neintenționat de pe site-ul dvs. și asigurați-vă că în schimb, pagina returnează HTTP 200.

3. Examinați logica aplicației

Asigurați-vă că logica aplicației dvs. se aliniază mai bine cu cazul de utilizare adecvat pentru HTTP 204. Ar trebui să se potrivească scopului de a afișa acest cod de stare special.

Verificați dacă logica este corectă; de exemplu, dacă se așteaptă conținut, dar este afișat HTTP 204, investigați de ce se întâmplă. De asemenea, continuați să perfecționați aplicația pentru o experiență optimă a utilizatorului.

4. Redirecționați utilizatorii către pagina Contentful

Dacă vă gândiți să ștergeți conținut sau un articol și returnează utilizatorilor un cod de răspuns HTTP 204, poate avea un impact negativ asupra acestora. Utilizatorii pot deveni confuzi, ceea ce în cele din urmă scade experiența generală a utilizatorului site-ului. Acesta este un lucru foarte slab din punct de vedere SEO.

În loc să le arătați utilizatorilor un cod de răspuns 204, este mai bine să îi redirecționați către o pagină mai utilă sau să transmiteți un mesaj clar pe aceeași pagină.

5. Investigați solicitările API sau AJAX

În cazul în care aveți de-a face cu API-uri sau solicitări AJAX, asigurați-vă că așteptările clientului și serverului sunt aliniate.

Dacă clientul așteaptă conținut, dar primește în schimb un HTTP 204, verificați dacă este făcut în mod intenționat sau dacă este ceva în neregulă cu el.

6. Asigurați-vă că sunt utilizate codurile de stare adecvate

Uneori, din cauza unui fel de confuzie sau a lipsei de cunoaștere a codului de stare HTTP, este posibil să utilizați un cod diferit pentru diferite scenarii. De exemplu, dacă clientul se așteaptă la conținut, faceți-l un 200 OK sau alt cod adecvat care este adecvat, în loc să utilizați 204 Fără conținut.

7. Înregistrare și monitorizare

Încercați să implementați înregistrarea și monitorizarea pentru 204 răspunsuri. Acest lucru se datorează faptului că vă poate oferi informații valoroase despre comportamentul aplicației dvs. web.

De asemenea, vă ajută să identificați modele, să găsiți probleme potențiale și, de asemenea, vă ajută să îmbunătățiți performanța, precum și experiența utilizatorului.

8. Consultați documentația

De asemenea, puteți consulta documentația serviciilor, cadrelor sau bibliotecilor pe care le utilizați. Priviți-le cu atenție și vedeți dacă există considerații speciale privind cele mai bune practici legate de 204 care sunt menționate sau nu.

Nu uitați că acțiunea corespunzătoare poate fi luată numai dacă este făcută neintenționat și, de asemenea, depinde de contextul specific al aplicației dvs.


Impactul HTTP 204 Niciun conținut asupra SEO

De asemenea, trebuie să știți ce implicații poate avea HTTP 204 asupra SEO. Verificați asta:

1. Problemă la indexare : Deoarece Http 204 nu oferă conținut pentru indexare. Poate cauza probleme dacă încercați să indexați o adresă URL.

2. Risipirea bugetului de accesare cu crawlere : S-ar putea să fii surprins să știi că fiecare motor de căutare alocă un buget de accesare cu crawlere pentru fiecare site web. Dacă roboții motoarelor de căutare nu găsesc conținut de indexat în mod repetat, le va da un semnal negativ și poate reduce bugetul de accesare cu crawlere și mai mult.

3. Experiență slabă a utilizatorului: Deoarece experiența utilizatorului joacă, de asemenea, un factor major în SEO, întâlnirea unui HTTP 204 poate avea un impact negativ asupra acestuia. Utilizatorii care se așteaptă la conținut ar putea părăsi site-ul, crescând rata de respingere și trimițând un semnal negativ motoarelor de căutare.

4. Configurare greșită : Este posibil, de asemenea, ca serverul să fi fost configurat prost în mod neintenționat, ceea ce are ca rezultat indexarea sau clasarea paginilor cheie.


Unele scenarii de utilizare a codului de răspuns HTTP 204 Fără conținut

Deci, s-ar putea să vă întrebați și dacă răspunsul HTTP 204 este intenționat, atunci care ar fi posibilele scenarii de utilizare pentru acesta? Ei bine, pentru referință, consultați cazurile de mai jos:

1. Caz de utilizare: DELETE Request

Pentru o mai bună înțelegere aici trebuie să luați în considerare un exemplu,

Cerere

DELETE https://domain.com/user/666 HTTP/1.1
Host: domain.com
Authorization: Bearer

Raspuns

HTTP/1.1 204 No Content
Date: Tue, 16 Jan 2024 12:00:00 GMT
Server: nginx

Din exemplul de mai sus puteți vedea că un client trimite o solicitare DELETE și aceasta a fost procesată cu succes, indicând eliminarea resursei utilizator cu ID 666 de pe serverul domain.com și serverul răspunde cu un cod de stare 204.

2. Caz de utilizare: Solicitare POST

Cerere:

POST /job HTTP/1.1
Host: www.domain.re
Content-Type: application/xml
Content-Length: 60
<?xml version="1.0">
<job>
<id>125</id>
<task>G01</task>
</job>

Raspuns:

HTTP/1.1 204 No Content

În exemplul de mai sus, puteți vedea că un client postează o solicitare de date XML pe server și, de asemenea, definește că lucrarea trebuie finalizată. Ca răspuns la aceasta, serverul confirmă cererea și finalizează lucrarea.

Cu toate acestea, nu este nevoie să trimiteți nimic înapoi clientului; prin urmare, se utilizează codul de stare 204 Fără conținut.

3. Caz de utilizare: Solicitare PUT

Să presupunem că utilizați un CMS în care trebuie să faceți o actualizare într-un articol de pe site. Pentru aceasta, trebuie să trimiteți o solicitare PUT pentru a actualiza conținutul cu ID 123 al unui articol existent. Sarcina utilă a cererii include titlul și conținutul actualizat în format JSON.

Cerere:

PUT /api/articles/123
Content-Type: application/json{
"title": "Updated Title",
"content": "Updated content for the article."
}

Raspuns:

HTTP/1.1 204 No Content
Date: Sat, 01 Jan 2024 12:00:00 GMT

În acest sens, serverul va procesa cererea și va actualiza cu succes articolul, dar conform designului aplicației, în loc să răspundă cu un mesaj tradițional de succes, serverul răspunde cu un cod de stare 204 Fără conținut.

În mod similar, HTTP 204 poate fi folosit și pentru a controla comportamentul de stocare în cache, precum și pentru includerea câmpurilor de antet HTTP.


Diferența dintre HTTP 204 și 200

Multe persoane ar putea fi confundate între codurile de răspuns HTTP 204 și HTTP 200 și ajung să folosească coduri neadecvate. Deci, mai jos este oferit un tabel de comparație final pentru a vă clarifica îndoielile cu privire la acest lucru.

Aspect HTTP 204 Fără conținut HTTP 200 OK
Definiție Serverul a procesat cu succes cererea, dar nu există conținut de trimis în corpul răspunsului. Solicitarea a avut succes, iar serverul a returnat datele solicitate.
Corpul de răspuns Nu este inclus niciun conținut în corpul răspunsului. Răspunsul include de obicei date, cum ar fi HTML, JSON sau XML, în funcție de solicitare.
Utilizare caz Folosit atunci când se confirmă o solicitare reușită care nu necesită transmiterea de date în răspuns. Folosit pentru cereri de succes în care serverul returnează date pentru a îndeplini cererea clientului.
Memorarea în cache Răspunsul nu este destinat să fie stocat în cache. Răspunsurile pot fi stocate în cache pe baza antetelor cache furnizate de server.
Acțiunea clientului Nu este necesară nicio acțiune a clientului, doar pentru recunoașterea clientului. Clientul poate procesa datele primite sau poate lua măsuri suplimentare pe baza răspunsului.
Exemple O solicitare DELETE la care nu trebuie trimise date suplimentare.
O actualizare reușită care nu necesită un corp de răspuns.
Se încarcă o pagină web cu succes. Preluarea detaliilor utilizatorului dintr-o bază de date.
Anteturi comune Tip de conținut: nu se aplică (fără conținut). Cache-Control: fără cache, fără stocare (sugerând să nu păstrați cache). Content-Type: Specifică tipul media al datelor din corpul răspunsului.
Cache-Control: Aceasta poate include directive pentru stocarea în cache.
Redirecționări De obicei, nu este nevoie de redirecționare. Redirecționarea poate apărea dacă serverul sau resursa s-a mutat (de exemplu, folosind un cod de stare 3xx).
HTTP 204 vs 200

În mod similar, este posibil să fiți confuz între codurile de răspuns HTTP 204 și 404. Consultați tabelul de comparație de mai jos pentru clarificări în acest sens.


Diferența dintre HTTP 204 și 404

Aspect HTTP 204 Fără conținut HTTP 404 nu a fost găsit
Definiție Serverul a procesat cu succes cererea, dar nu există conținut de trimis în corpul răspunsului. Resursa solicitată nu a putut fi găsită pe server.
Corpul de răspuns Nu este inclus niciun conținut în corpul răspunsului. Corpul de răspuns poate conține un mesaj ușor de utilizat care explică absența resursei solicitate.
Utilizare caz Folosit atunci când se confirmă o solicitare reușită care nu necesită transmiterea de date în răspuns. Folosit pentru a indica faptul că resursa solicitată nu este disponibilă sau nu există pe server.
Acțiunea clientului Clientul este informat că cererea a avut succes, dar nu este necesară nicio acțiune suplimentară. Clientul poate lua măsuri adecvate, cum ar fi notificarea utilizatorului, redirecționarea sau încercarea unei cereri alternative.
Exemple O solicitare DELETE la care nu trebuie trimise date suplimentare.
O actualizare reușită care nu necesită un corp de răspuns.
Încercarea de a accesa o adresă URL inexistentă.
Se caută o resursă care a fost ștearsă sau care nu a existat niciodată.
Anteturi comune Tip de conținut: nu se aplică (fără conținut).
Cache-Control: fără cache, fără stocare (sugerând să nu păstrați cache).
Content-Type: Depinde de configurația serverului.
Cache-Control: Acest lucru poate indica să nu se memoreze în cache dacă resursa nu va fi găsită în solicitările ulterioare.
Redirecționări De obicei, nu este nevoie de redirecționare. Redirecționarea poate apărea dacă serverul sau resursa s-a mutat (de exemplu, folosind un cod de stare 3xx).
HTTP 204 vs 404

Citiți: Cum să remediați eroarea 404 Not Found pentru site-ul WordPress și Android?


Concluzie

HTTP 204 fără conținut este doar un cod de răspuns, spre deosebire de alte coduri de eroare HTTP, care indică faptul că serverul a procesat cu succes cererea, dar nu există conținut de afișat în răspuns.

Ar putea suna similar cu o eroare 404 negăsit, dar este complet diferită și are un scenariu de utilizare diferit. Dar, indiferent de situație, dacă este utilizat greșit sau configurat greșit, nu uitați că poate dăuna, de asemenea, SEO.


întrebări frecvente

Ce înseamnă HTTP 204?

Codul de răspuns HTTP 204 fără conținut indică faptul că serverul și-a făcut treaba îndeplinind cererea, adică trimisă de client, dar serverul nu a găsit niciun conținut de trimis înapoi clientului.

Care este diferența dintre HTTP 304 și 204?

în timp ce ambele coduri de stare 304 și 204 indică situații în care nu este trimis niciun conținut nou în corpul răspunsului. HTTP 304 se concentrează mai mult pe stocarea în cache și pe solicitările condiționate, în timp ce HTTP 204 este un indiciu general al procesării reușite fără conținut suplimentar.

Ce este ștergerea codului 204?

O stare 204 No Content DELETE indică faptul că serverul a procesat cu succes cererea de ștergere a unei resurse, dar nu există conținut suplimentar care să fie trimis în corpul răspunsului. Semnalează că ștergerea a avut succes și nu este nevoie să returnați date în răspuns.