Obsah

    Odpověď serveru 421 Misdirected Request

    HTTP Status Kód 421 (Misdirected Request)

    HTTP status kód 421 označuje, že požadavek byl zaslán serveru, který není schopen jej správně zpracovat. To může nastat, když klient odešle požadavek na server, který není určen k obsluze tohoto konkrétního požadavku. Tento článek se zaměřuje na příčiny vzniku tohoto status kódu, příklady situací, kdy může nastat, a také na způsoby jeho opravy v různých programovacích jazycích.

    421 - Misdirected Request

    Příčiny vzniku status kódu 421

    • Chyby v konfiguraci klienta
      • Nesprávné URL nebo doménová jména
      • Nesprávná nastavení proxy serveru
    • Problémy s vyvažováním zátěže
      • Nesprávný výběr serveru pro zpracování požadavku
      • Absence podpory více virtuálních hostitelů na serveru
    • Problémy s směrováním
      • Nesprávné záznamy DNS
      • Chyby v konfiguraci síťového zařízení

    Praktické příklady vzniku status kódu 421

    1. Situace s nesprávným doménovým jménem

      Když klient odešle požadavek na www.example.com, ale server je nastaven pouze na example.com.

    2. Problémy s proxy serverem

      Klient používá proxy, která nesprávně směruje požadavky na server.

    3. Chyby v konfiguraci více serverů

      Požadavek je zpracováván serverem, který není určen k obsluze konkrétního obsahu nebo API.

    Způsoby opravy chyby 421 v různých programovacích jazycích

    Programovací jazyk Příklad kódu Popis
    JavaScript (Node.js)
    
    const http = require('http');
    
    const options = {
        hostname: 'example.com',
        port: 80,
        path: '/api/resource',
        method: 'GET',
    };
    
    const req = http.request(options, (res) => {
        if (res.statusCode === 421) {
            console.error('Chyba 421: Nesprávný požadavek. Zkontrolujte URL.');
        }
    });
    req.end();
                
    Kontrola URL a úprava požadavku.
    Python (requests)
    
    import requests
    
    try:
        response = requests.get('http://example.com/api/resource')
        response.raise_for_status()
    except requests.exceptions.HTTPError as err:
        if response.status_code == 421:
            print("Chyba 421: Zkontrolujte správnost adresy požadavku.")
                
    Správa výjimek a kontrola URL.
    PHP
    
    $url = 'http://example.com/api/resource';
    $response = file_get_contents($url);
    
    if ($http_response_header[0] == 'HTTP/1.1 421 Misdirected Request') {
        echo "Chyba 421: Nesprávný požadavek. Ujistěte se, že používáte správnou adresu.";
    }
                
    Kontrola odpovědi serveru.

    Status kód 421 (Misdirected Request) může být vyvolán různými chybami souvisejícími s nesprávným směrováním nebo konfigurací. Je důležité správně zpracovat a opravit tuto chybu, aby byla zajištěna správná funkčnost API a zlepšila se interakce s klienty.