Obsah

    Odpověď serveru 400 Bad Request

    HTTP Status Kód 400 (Bad Request)

    HTTP status kód 400 označuje, že server nemůže zpracovat požadavek kvůli nesprávné syntaxi. Tento stav může nastat z různých důvodů, které je důležité pochopit pro efektivní řešení problémů při vývoji aplikací.

    400 - Bad Request

    Příčiny vzniku chyby 400

    • Nesprávná syntaxe požadavku

      Příklad: nekorektně vytvořená URL adresa, která neodpovídá očekávanému formátu.

    • Chybějící povinné parametry

      Příklad: absence určitého parametru v těle požadavku, což může vést k selhání jeho zpracování.

    • Nesprávná data v parametrech

      Příklad: předání řetězce místo očekávané číselné hodnoty, což způsobuje chybu při validaci.

    Praktické příklady

    1. Nesprávný formát dat

      Příklad: odeslání dat ve formátu JSON bez příslušných hlaviček, což může způsobit chybu při zpracování serverem.

    2. Příliš dlouhá URL

      Příklad: překročení limitu pro délku URL při předávání dat, které server nemůže zpracovat.

    3. Chyby v kódování

      Příklad: použití nepodporovaného kódování znaků, které server nedokáže interpretovat.

    Oprava chyby 400 v různých programovacích jazycích

    Programovací jazyk Příklad kódu
    JavaScript (Node.js)
    
    app.post('/api/data', (req, res) => {
        if (!req.body.name) {
            return res.status(400).send('Jméno je povinné');
        }
        // zpracování požadavku
    });
                
    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': 'Jméno je povinné'}), 400
        # zpracování požadavku
                
    PHP
    
    if (empty($_POST['name'])) {
        http_response_code(400);
        echo 'Jméno je povinné';
        exit;
    }
    // zpracování požadavku
                

    Správná diagnostika a oprava příčin vzniku chyby 400 umožňuje vývojářům zlepšovat kvalitu svých aplikací a zajistit plynulejší práci s API.

    Další kódy

    KódPopis
    400.1Neplatná hlavička cíle - Hlavička cíle v požadavku je nesprávná.
    400.2Neplatná hlavička hloubky - Hlavička hloubky není správně naformátována.
    400.3Neplatná hlavička If - Hlavička 'If' není platná.
    400.4Neplatná hlavička přepsání - Hlavička přepsání není platná.
    400.5Neplatná hlavička překladu - Hlavička překladu je neplatná.
    400.6Neplatné tělo požadavku - Tělo požadavku je nesprávné.
    400.7Neplatná délka obsahu - Hlavička délky obsahu je nesprávná.
    400.8Neplatný timeout - Hlavička timeout obsahuje neplatnou hodnotu.
    400.9Neplatný token zámku - Token zámku v požadavku je neplatný.
    400.10Neplatná hlavička X-Forwarded-For (XFF) - Hlavička XFF je nesprávná.
    400.11Neplatný požadavek WebSocket - Požadavek WebSocket není platný.
    400.601Špatný klientský požadavek (ARR) - Klientský požadavek je nesprávně formátován.
    400.602Neplatný formát času (ARR) - Formát času je nesprávný.
    400.603Chyba rozsahu analýzy (ARR) - Rozsah nelze analyzovat.
    400.604Klient odpojen (ARR) - Klient se odpojil.
    400.605Maximální počet přesměrování dosažen (ARR) - Bylo dosaženo maximálního počtu přesměrování.
    400.606Chyba asynchronní konkurence (ARR) - Došlo k chybě kvůli asynchronní konkurenci.