Innehåll

    Serversvar 421 Misdirected Request

    HTTP Statuskod 421 (Misdirected Request)

    HTTP-statuskod 421 indikerar att en begäran har skickats till en server som inte kan behandla den korrekt. Detta kan inträffa när klienten skickar en begäran till en server som inte är avsedd för att hantera just denna begäran. Det är viktigt att förstå de underliggande orsakerna till detta problem för att kunna åtgärda det effektivt.

    421 - Misdirected Request

    Orsaker till statuskod 421

    • Fel i klientkonfigurationen
      • Exempel på felaktiga URL:er eller domännamn
      • Felaktiga inställningar för proxyservrar
    • Problem med lastbalansering
      • Felaktigt val av server för att behandla begäran
      • Avsaknad av stöd för flera virtuella värdar på servern
    • Problem med routning
      • Felaktiga DNS-poster
      • Fel i konfigurationen av nätverksutrustning

    Praktiska exempel på statuskod 421

    1. Situationen med felaktigt domännamn

      När klienten skickar en begäran till www.example.com, men servern är endast konfigurerad för example.com.

    2. Problem med proxyserver

      Klienten använder en proxy som felaktigt dirigerar begäran till servern.

    3. Fel i flerserverkonfigurationer

      Begäran hanteras av en server som inte är avsedd för att arbeta med specifikt innehåll eller API.

    Åtgärder för att korrigera fel 421 på olika programmeringsspråk

    Programmeringsspråk Exempel på kod
    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('Fel 421: Felaktig begäran. Kontrollera URL.');
        }
    });
    req.end();
                
    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("Fel 421: Kontrollera korrektheten av begärans adress.")
                
    PHP
    $url = 'http://example.com/api/resource';
    $response = file_get_contents($url);
    
    if ($http_response_header[0] == 'HTTP/1.1 421 Misdirected Request') {
        echo "Fel 421: Felaktig begäran. Kontrollera att du använder rätt adress.";
    }
                

    Genom att förstå statuskod 421 (Misdirected Request) kan utvecklare och systemadministratörer identifiera och åtgärda problem relaterade till felaktig routning eller konfiguration. Korrekt hantering av denna typ av fel är avgörande för att säkerställa en smidig och effektiv kommunikation mellan klienter och servrar. Genom att följa de angivna åtgärderna kan risken för att stöta på statuskod 421 minimeras och användarupplevelsen förbättras.