Innehåll

    Serversvar 414 URI Too Long

    HTTP-statuskod 414 (URI för lång)

    HTTP-statuskod 414 indikerar att klienten har skickat en URI som överskrider den maximala längden som servern tillåter. Detta kan inträffa av olika anledningar, inklusive användarbeteende eller felaktig formulering av förfrågningar. För att säkerställa ett smidigt samspel med API:er är det avgörande att förstå hur denna statuskod påverkar interaktionen och hur man kan åtgärda uppkomna problem.

    414 - URI Too Long

    Orsaker till fel 414

    • Användning av långa frågesträngar i GET-förfrågningar
    • Generering av ett alltför stort antal parametrar i URL:en
    • Fel i hanteringen av sessioner och cachelagring

    Praktiska exempel på fel 414

    1. Exempel 1: Lång URL med filtreringsparametrar på en e-handelswebbplats
    2. Exempel 2: Generering av URL med formulärdata som innehåller ett stort antal fält
    3. Exempel 3: Användning av långa identifierare för objekt i databasen

    Hur man åtgärdar fel 414 i olika programmeringsspråk

    PHP

    Ändra begärningsmetoden från GET till POST för att överföra data. Här är ett exempel på kod:

    
    if ($_SERVER['REQUEST_METHOD'] === 'GET') {
        // Omdirigera till POST-formulär
        header('Location: /form', true, 302);
        exit();
    }
    

    JavaScript (Node.js)

    Använd POST-förfrågningar för att överföra långa data. Här är ett exempel på kod:

    
    const express = require('express');
    const app = express();
    
    app.post('/submit', (req, res) => {
        // Behandla data
    });
    
    app.listen(3000);
    

    Python (Flask)

    Byt till att använda POST istället för GET för långa URL:er. Här är ett exempel på kod:

    
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/submit', methods=['POST'])
    def submit():
        return 'Data har behandlats'
    
    if __name__ == '__main__':
        app.run()
    

    Rekommendationer för att förebygga fel 414

    Rekommendation Beskrivning
    Använd POST-förfrågningar För att överföra stora datamängder, använd POST istället för GET.
    Optimera URL-strukturen Begränsa antalet parametrar i URL:en för att undvika överskridande av längdgränser.
    Kontrollera URI-längden Validera URI-längden på klientsidan innan förfrågan skickas.