Obsah

    Odpověď serveru 202 Accepted

    Pojem statusového kódu 202

    Statusový kód HTTP 202 (Accepted) indikuje, že požadavek klienta byl přijat k zpracování, avšak ještě nebyl dokončen. Tento kód je užitečný zejména pro asynchronní operace, kde výsledky mohou být k dispozici později. V této části se podíváme na definici a účel tohoto kódu, a také na jeho rozdíly oproti jiným statusovým kódům.

    202 - Accepted

    Definice a účel

    Statusový kód 202 je určen pro situace, kdy server přijal požadavek, ale jeho zpracování ještě nebylo dokončeno. Klient by měl očekávat, že výsledek operace bude k dispozici později, a proto tento kód nenaznačuje úspěšné dokončení akce.

    Odlišení od jiných statusových kódů

    • 200 (OK): Požadavek byl úspěšně zpracován a server vrací výsledek.
    • 204 (No Content): Požadavek byl úspěšně zpracován, ale server nemá co vrátit.
    • 202 (Accepted): Požadavek byl přijat, ale výsledek ještě není k dispozici.

    Praktické příklady použití statusového kódu 202

    Příklad 1: Odesílání velkých souborů na server

    Při odesílání velkých souborů může klient odeslat požadavek na server, který zahájí zpracování souboru. Server může reagovat s kódem 202, což znamená, že soubor byl přijat a zpracování je plánováno.

    Příklad 2: Zpracování pozadí úloh

    Klient může iniciovat úlohu, která vyžaduje značné množství času na zpracování. Po odeslání požadavku server vrací status 202, což indikuje, že úloha byla zahájena. Klient by měl následně kontrolovat stav úlohy pomocí dalšího požadavku.

    Příklad 3: Interakce s externím API

    Některé API mohou vrátit status 202 při vytváření nového zdroje, který si vyžaduje další zpracování. Klient by měl být připraven na to, že výsledek nebude okamžitě k dispozici.

    Příklad Popis Statusový kód
    Odesílání souboru Velký soubor byl přijat k zpracování. 202
    Zpracování úlohy Úloha byla zahájena a čeká na dokončení. 202
    Vytváření zdroje Nový zdroj je ve fázi zpracování. 202

    Chyby při použití statusového kódu 202

    Možné příčiny vzniku chyb

    Chyby mohou nastat, pokud klient očekává okamžitou odpověď nebo výsledek operace. Pokud nebylo zpracování úspěšné, server by měl poskytnout další informace, aby klient mohl reagovat.

    Jak správně zpracovat odpověď s kódem 202

    Klienti by měli implementovat logiku pro sledování stavu požadované úlohy, aby zjistili, kdy bude výsledek k dispozici. To zahrnuje pravidelné dotazy na server pro aktuální stav.

    Oprava chyb v různých programovacích jazycích

    Příklad na JavaScript

    V JavaScriptu můžete použít funkci fetch k odeslání požadavku a zpracování odpovědi:

    fetch('https://example.com/api/task', {
        method: 'POST',
        body: JSON.stringify(data),
        headers: {
            'Content-Type': 'application/json'
        }
    })
    .then(response => {
        if (response.status === 202) {
            // Logika pro kontrolu stavu
        }
    });
    

    Příklad na Python

    V Pythonu můžete použít knihovnu requests pro práci s API:

    import requests
    
    response = requests.post('https://example.com/api/task', json=data)
    
    if response.status_code == 202:
        # Zpracování a opětovné odeslání požadavku
    

    Příklad na Java

    V Javě můžete použít HTTP klienta pro odeslání požadavku:

    HttpURLConnection connection = (HttpURLConnection) new URL("https://example.com/api/task").openConnection();
    connection.setRequestMethod("POST");
    
    if (connection.getResponseCode() == 202) {
        // Logika pro zpracování odpovědi
    }
    

    Příklady scénářů, kde statusový kód 202 může být užitečný

    • Mobilní aplikace pro nahrávání obsahu.
    • Systémy pro správu projektů s asynchronními úkoly.
    • Internetové obchody zpracovávající objednávky.

    Doporučení pro použití statusového kódu 202

    • Používejte tento statusový kód, když očekáváte, že zpracování potrvá delší dobu.
    • Informujte uživatele o tom, co se děje, aby se vyhnuli nedorozuměním.