Contenu

    Réponse du serveur 100 Continue

    Code de statut HTTP 100 (Continue)

    Le code de statut HTTP 100 (Continue) est un code temporaire qui indique que la première partie de la requête a été reçue avec succès par le serveur, permettant au client de continuer l'envoi du corps de la requête. Ce code est particulièrement utile pour optimiser le transfert de grandes quantités de données.

    100 - Continue

    Principes de base

    • Qu'est-ce que le code 100 (Continue) ? C'est un signal du serveur indiquant au client qu'il peut poursuivre l'envoi de données après avoir reçu les en-têtes de la requête.
    • Quand et pourquoi utiliser ce code ? Il est principalement utilisé dans les situations où le corps de la requête est volumineux, permettant ainsi au client d'éviter d'envoyer des données superflues lorsque les en-têtes ne sont pas acceptés par le serveur.

    Exemples pratiques d'utilisation

    Exemple 1 : Envoi d'un fichier volumineux

    Lorsqu'un client souhaite envoyer un fichier de grande taille, il envoie d'abord les en-têtes de la requête. Si le serveur accepte les en-têtes, il répond avec le code 100, permettant au client de continuer avec l'envoi du fichier.

    • Avantages de l'utilisation de ce code :
      • Réduction du temps d'attente inutile en évitant l'envoi complet de données avant d'avoir une confirmation.
      • Économie de bande passante en évitant des transmissions inutiles si le serveur refuse la requête.

    Exemple 2 : Vérification des en-têtes avant l'envoi de données

    Dans certains cas, le client peut vouloir s'assurer que les en-têtes de la requête correspondent aux attentes du serveur. La réception d'un code 100 permet au client de poursuivre l'envoi des données en toute sécurité.

    Comment corriger les erreurs liées au code 100 (Continue)

    Exemple en Python

    Supposons qu'un serveur ne renvoie pas le code 100 lorsque le client envoie une requête. Cela peut entraîner des échecs dans la transmission de données. Voici comment gérer ce scénario avec la bibliothèque requests en Python :

    import requests
    
    response = requests.post('http://example.com/upload', data=large_file, allow_redirects=False)
    if response.status_code == 100:
        print("Continuez l'envoi des données.")
    else:
        print("Erreur : le serveur n'a pas renvoyé le code 100.")
    

    Exemple en Java

    En Java, avec HttpURLConnection, vous pouvez gérer le code 100 de la manière suivante :

    HttpURLConnection connection = (HttpURLConnection) new URL("http://example.com/upload").openConnection();
    connection.setRequestMethod("POST");
    connection.setDoOutput(true);
    connection.setRequestProperty("Expect", "100-continue");
    
    int responseCode = connection.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_CONTINUE) {
        // Continuer l'envoi des données
    } else {
        // Gérer l'erreur
    }
    

    Exemple en JavaScript

    Pour gérer le code 100 dans un navigateur, vous pouvez utiliser XMLHttpRequest ou fetch. Voici un exemple avec fetch :

    fetch('http://example.com/upload', {
        method: 'POST',
        body: largeFile,
        headers: {
            'Expect': '100-continue'
        }
    }).then(response => {
        if (response.status === 100) {
            // Continuer la requête
        } else {
            // Gérer l'erreur
        }
    });
    

    Meilleures pratiques

    • Utiliser le code 100 (Continue) uniquement lors de l'envoi de données volumineuses pour éviter des transmissions inutiles.
    • Assurez-vous que le serveur prend en charge le code 100 avant de l'utiliser dans vos requêtes.
    • Gérer correctement les erreurs côté client et serveur pour améliorer l'expérience utilisateur.

    Questions fréquentes

    1. Quel comportement est attendu du client lors de la réception du code 100 ? Le client doit poursuivre l'envoi des données comme prévu.
    2. Que faire si le serveur ne prend pas en charge le code 100 ? Dans ce cas, le client doit envoyer les données sans attendre de confirmation, en gérant les erreurs possibles.
    Code de statut Description
    100 Continue - Le client peut continuer l'envoi des données.
    200 OK - La requête a réussi.
    400 Bad Request - La requête est invalide.
    500 Internal Server Error - Erreur sur le serveur.