İçerikler

    Sunucu yanıtı 400 Bad Request

    HTTP Durum Kodu 400 (Bad Request)

    HTTP durum kodu 400, sunucunun isteği işleyemediğini belirtir. Bu genellikle isteklerin yanlış bir sözdizimi nedeniyle gerçekleşir. Bu hatanın nedenlerini ve çözüm yollarını anlamak, geliştiricilerin karşılaştıkları sorunları daha etkili bir şekilde çözmelerine yardımcı olabilir.

    400 - Bad Request

    Nedenler

    • Yanlış İstek Sözdizimi: Örneğin, yanlış biçimde oluşturulmuş bir URL.
    • Zorunlu Parametrelerin Eksikliği: Örneğin, isteğin gövdesinde bir parametrenin olmaması.
    • Parametrelerde Yanlış Veri: Örneğin, sayısal bir değer yerine bir dize gönderilmesi.

    Pratik Örnekler

    1. Yanlış Veri Formatı: Uygun başlıklar olmadan JSON formatında veri gönderilmesi.
    2. Çok Uzun URL: Veri gönderimi sırasında URL uzunluk limitinin aşılması.
    3. Kodlama Hataları: Desteklenmeyen bir karakter kodlaması kullanılması.

    Farklı Programlama Dillerinde 400 Hatasının Düzgün Yönetimi

    Dil Örnek Kod
    JavaScript (Node.js)
    app.post('/api/data', (req, res) => {
        if (!req.body.name) {
            return res.status(400).send('İsim zorunludur');
        }
        // isteği işleme
    });
                
    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': 'İsim zorunludur'}), 400
        // isteği işleme
                
    PHP
    if (empty($_POST['name'])) {
        http_response_code(400);
        echo 'İsim zorunludur';
        exit;
    }
    // isteği işleme
                

    400 hatasının doğru bir şekilde işlenmesi ve nedenlerinin teşhis edilmesi, geliştiricilerin uygulamalarının kalitesini artırmalarına ve API ile daha sorunsuz bir şekilde çalışmalarına yardımcı olabilir.

    Ek Kodlar

    KodAçıklama
    400.1Geçersiz Hedef Başlığı - İstekteki hedef başlığı yanlış.
    400.2Geçersiz Derinlik Başlığı - Derinlik başlığı düzgün biçimlendirilmemiş.
    400.3Geçersiz Eğer Başlığı - 'Eğer' başlığı geçerli değil.
    400.4Geçersiz Üzerine Yazma Başlığı - Üzerine yazma başlığı geçerli değil.
    400.5Geçersiz Çeviri Başlığı - Çeviri başlığı geçersiz.
    400.6Geçersiz İstek Gövdesi - İsteğin gövdesi yanlış.
    400.7Geçersiz İçerik Uzunluğu - İçerik uzunluğu başlığı yanlış biçimlendirilmiş.
    400.8Geçersiz Zaman Aşımı - Zaman aşımı başlığı geçersiz bir değer içeriyor.
    400.9Geçersiz Kilit Belirteci - İstekteki kilit belirteci geçersiz.
    400.10Geçersiz X-Forwarded-For (XFF) başlığı - XFF başlığı hatalı.
    400.11Geçersiz WebSocket isteği - WebSocket isteği geçerli değil.
    400.601Kötü istemci isteği (ARR) - İstemci isteği hatalı.
    400.602Geçersiz zaman biçimi (ARR) - Zaman biçimi yanlış.
    400.603Aralık ayrıştırma hatası (ARR) - Aralık ayrıştırılamıyor.
    400.604İstemci gitti (ARR) - İstemci bağlantısı kesildi.
    400.605Maksimum iletme sayısı (ARR) - Maksimum iletmelerin sayısına ulaşıldı.
    400.606Asenkron rekabet hatası (ARR) - Eşzamansız rekabet nedeniyle bir hata oluştu.