Serversvar 204 No Content
HTTP-statuskod 204 (No Content)
HTTP-statuskod 204 (No Content) är en viktig del av webbprogrammering, som gör det möjligt för servrar att informera klienter om att en begäran har behandlats framgångsrikt, men att det inte finns några data att skicka tillbaka i svaret. Denna artikel kommer att utforska hur man korrekt använder denna statuskod, ge praktiska exempel och diskutera vanliga misstag samt hur man rättar till dem på olika programmeringsspråk.
Karakteristik av statuskod 204
- Definition av statuskod 204: Denna kod används för att indikera att begäran har lyckats, men att det inte finns något innehåll att returnera.
- När man ska använda statuskod 204: Används vid situationer där en begäran har utförts utan att generera något svar, som vid radering av resurser.
- Skillnad från andra statuskoder:
- 200 OK: Indikerar att begäran har lyckats och att det finns data att returnera.
- 204 No Content: Indikerar att begäran har lyckats men att det inte finns något innehåll att returnera.
Praktiska exempel på användning av statuskod 204
-
Exempel 1: Framgångsrik begäran utan returnerade data
Beskrivning av scenario: Ta bort en resurs.
fetch('/api/resource/1', { method: 'DELETE' }).then(response => { if (response.status === 204) { console.log('Resurs borttagen utan innehåll att returnera.'); } });
-
Exempel 2: Uppdatera data utan att returnera innehåll
Beskrivning av scenario: Uppdatera användarprofil.
import requests response = requests.put('/api/user/profile', json={'name': 'Ny namn'}) if response.status_code == 204: print('Profil uppdaterad utan innehåll att returnera.')
-
Exempel 3: Bekräfta en åtgärd utan att överföra data
Beskrivning av scenario: Bekräfta användaråtgärd.
<?php $response = http_response_code(204); echo $response; ?>
Misstag vid användning av statuskod 204 och hur man rättar till dem
- Vanliga misstag:
- Att skicka data i svaret, vilket strider mot definitionen av 204.
- Att använda statuskod 204 i situationer där innehåll krävs, till exempel vid en lyckad GET-begäran.
- Rättningar på JavaScript:
fetch('/api/resource', { method: 'POST', body: JSON.stringify({data: 'exempel'}) }).then(response => { if (response.status === 204) { // Fel: Skickar data! } });
- Rättningar på Python:
response = requests.get('/api/resource') if response.status_code == 204: # Fel: Försöker hämta data när 204 skickas.
- Rättningar på PHP:
<?php http_response_code(204); echo "Detta borde inte vara här"; // Fel: Skickar data! ?>
Tips för korrekt användning av statuskod 204
- Rekommendationer för API-design: Definiera tydligt när och hur 204 ska användas för att undvika förväxling med andra statuskoder.
- Hur man testar användning av statuskod 204: Använd verktyg för att simulera olika scenarier och kontrollera att servern svarar korrekt med 204 när det är lämpligt.
Statuskod | Betydelse | Exempel på användning |
---|---|---|
200 | OK | En begäran returnerar data, t.ex. en användarprofil. |
204 | No Content | En resurs har tagits bort utan att returnera data. |