Innehåll

    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.

    204 - No Content

    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

    1. 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.');
          }
      });
    2. 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.')
    3. 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.