İçerikler

    Sunucu yanıtı 207 Multi-Status

    HTTP Durum Kodu 207 (Multi-Status)

    HTTP durum kodu 207, bir yanıt içinde birden fazla durumu belirtmek için kullanılır. Bu kod, tek bir istekte birden fazla kaynağın durumu hakkında bilgi sağlamak gerektiğinde özellikle yararlıdır.

    207 - Multi-Status

    Kısa bir Genel Bakış

    • Tanım ve Amaç: HTTP 207, bir yanıt içerisinde birden fazla kaynakla ilgili durumu belirtir.
    • Ne Zaman Kullanılır: Birden fazla kaynağın durumunu aynı anda iletmek gerektiğinde kullanılır.
    • Cevap Yapısı: Cevap genellikle XML veya JSON formatında olabilir ve her kaynağın durumu ile ilgili bilgi içerir.

    Pratik Örnekler

    Örnek 1: Birden Fazla Dosyanın İşlenmesi

    Bir uygulama, kullanıcıdan birden fazla dosya yüklemesini isteyebilir. Kullanıcı dosyaları yüklediğinde, her dosyanın durumu ile ilgili bilgi sağlamak önemlidir.

    
    POST /upload HTTP/1.1
    Host: example.com
    Content-Type: multipart/form-data
    
    [Dosya Verileri]
    
    

    Cevap:

    
    HTTP/1.1 207 Multi-Status
    Content-Type: application/xml
    
    
        
            file1.txt
            uploaded
        
        
            file2.txt
            error
            Dosya boyutu çok büyük
        
    
    
    

    Örnek 2: Birden Fazla Kaynağın Güncellenmesi

    Kullanıcı, birden fazla kaynağı güncelleyebilir. Bu durumda, her bir güncellemenin sonucunu bildirmek için 207 kodu kullanılabilir.

    
    PUT /update HTTP/1.1
    Host: example.com
    Content-Type: application/json
    
    {
        "resources": [
            {"id": 1, "value": "Yeni Değer 1"},
            {"id": 2, "value": "Yeni Değer 2"}
        ]
    }
    
    

    Cevap:

    
    HTTP/1.1 207 Multi-Status
    Content-Type: application/json
    
    {
        "responses": [
            {"id": 1, "status": "updated"},
            {"id": 2, "status": "not found"}
        ]
    }
    
    

    Örnek 3: Farklı Kaynaklardan Durumların Alınması

    Bir uygulama, çeşitli kaynaklardan durum bilgisi almak isteyebilir. Bu durumda, 207 kodu ile her kaynağın durumu ile ilgili bilgi sağlanabilir.

    
    GET /statuses HTTP/1.1
    Host: example.com
    
    

    Cevap:

    
    HTTP/1.1 207 Multi-Status
    Content-Type: application/json
    
    {
        "statuses": [
            {"source": "source1", "status": "active"},
            {"source": "source2", "status": "inactive"}
        ]
    }
    
    

    Hataları Düzeltme

    Python

    
    # Hatalı Kod
    response = requests.put('http://example.com/update', json=data)
    print(response.status_code)  # Beklenen 207
    
    

    Düzeltme Yöntemleri:

    1. Yanıtın durum kodunu kontrol et.
    2. Yanıt içeriğini inceleyerek hataları belirle.

    JavaScript (Node.js)

    
    const http = require('http');
    
    http.get('http://example.com/statuses', (res) => {
        console.log(res.statusCode); // Beklenen 207
    });
    
    

    Düzeltme Yöntemleri:

    1. Yanıtın durumunu kontrol et.
    2. Yanıt içeriğini inceleyerek hataları tespit et.

    PHP

    
    $response = file_get_contents('http://example.com/update');
    if ($http_response_header[0] !== 'HTTP/1.1 207 Multi-Status') {
        echo "Hata oluştu.";
    }
    
    

    Düzeltme Yöntemleri:

    1. HTTP başlıklarını kontrol et.
    2. Yanıt içeriğini inceleyerek hataları düzelt.

    Olası Sorunlar ve Sınırlamalar

    • Olası Hatalar: Yanlış format veya eksik bilgi.
    • Sınırlamalar: Yanıt formatının karmaşıklığı.
    • Optimizasyon Önerileri: Gereksiz veriyi azaltmak için yanıtları optimize et.

    Başarılı Kullanım Örnekleri

    Bazı servisler, durum kodu 207'yi etkili bir şekilde kullanmaktadır. Geliştiriciler, bu kodun sağladığı çoklu durum bilgisi ile uygulamalarında daha iyi kullanıcı deneyimleri sağlamaktadır.

    Servis Adı Kullanım Amacı
    Örnek Servis 1 Dosya yükleme durumu
    Örnek Servis 2 Kaynak güncellemeleri