Inhoud

    Serverrespons 400 Bad Request

    HTTP-statuscode 400 (Bad Request)

    HTTP-statuscode 400 geeft aan dat de server het verzoek niet kan verwerken vanwege een onjuist syntaxis. Dit kan om verschillende redenen gebeuren. Het begrijpen van deze redenen helpt ontwikkelaars om effectief problemen op te lossen die zich kunnen voordoen bij het gebruik van API's.

    400 - Bad Request

    Oorzaken van fout 400

    • Onjuiste syntaxis van het verzoek
      • Voorbeeld: een verkeerd gevormde URL.
    • Ontbrekende vereiste parameters
      • Voorbeeld: het ontbreken van een parameter in de Body van het verzoek.
    • Onjuiste gegevens in parameters
      • Voorbeeld: het verzenden van een string in plaats van een numerieke waarde.

    Praktische voorbeelden

    1. Onjuiste gegevensindeling
      • Voorbeeld: het verzenden van gegevens in JSON-formaat zonder de juiste headers.
    2. Te lange URL
      • Voorbeeld: overschrijding van de limiet voor de lengte van de URL bij het verzenden van gegevens.
    3. Fouten in codering
      • Voorbeeld: het gebruik van een niet-ondersteunde tekenencoding.

    Fout 400 oplossen in verschillende programmeertalen

    Programmeertaal Voorbeeldcode
    JavaScript (Node.js)
    app.post('/api/data', (req, res) => {
        if (!req.body.name) {
            return res.status(400).send('Naam is verplicht');
        }
        // verwerking van het verzoek
    });
    Python (Flask)
    from flask import Flask, request, jsonify
    
    app = Flask(__name__)
    
    @app.route('/api/data', methods=['POST'])
    def data():
        if 'name' not in request.json:
            return jsonify({'error': 'Naam is verplicht'}), 400
        // verwerking van het verzoek
    
    PHP
    if (empty($_POST['name'])) {
        http_response_code(400);
        echo 'Naam is verplicht';
        exit;
    }
    // verwerking van het verzoek
    

    Een goede aanpak en diagnose van de oorzaken van fout 400 stelt ontwikkelaars in staat om de kwaliteit van hun applicaties te verbeteren en een soepelere interactie met API's te waarborgen.

    Aanvullende codes

    CodeBeschrijving
    400.1Ongeldige bestemmingsheader - De bestemmingsheader in de aanvraag is onjuist.
    400.2Ongeldige diepteheader - De diepteheader is niet correct geformatteerd.
    400.3Ongeldige if-header - De 'If'-header is ongeldig.
    400.4Ongeldige overschrijfheader - De overschrijfheader is ongeldig.
    400.5Ongeldige vertaalheader - De vertaalheader is ongeldig.
    400.6Ongeldige aanvraagbody - De body van de aanvraag is onjuist.
    400.7Ongeldige inhoudslengte - De inhoudslengteheader is misvormd.
    400.8Ongeldige time-out - De time-outheader bevat een ongeldige waarde.
    400.9Ongeldige vergrendelingstoken - De vergrendelingstoken in het verzoek is ongeldig.
    400.10Ongeldige X-Forwarded-For (XFF) header - De XFF header is misvormd.
    400.11Ongeldige WebSocket request - De WebSocket request is niet geldig.
    400.601Slechte client request (ARR) - De client request is misvormd.
    400.602Ongeldige tijdnotatie (ARR) - De tijdnotatie is onjuist.
    400.603Parse range error (ARR) - Het bereik kan niet worden geparseerd.
    400.604Client gone (ARR) - De client is losgekoppeld.
    400.605Maximum number of forwards (ARR) - Het maximum number of forwards has been reached.
    400.606Asynchroon competition error (ARR) - Er is een fout opgetreden vanwege asynchrone concurrentie.