La récupération à l'origine par plage permet à un point de présence (POP) CDNDCDN d'inclure un en-tête Range dans une requête HTTP adressée au serveur d'origine. À la réception de cette requête, le serveur d'origine renvoie uniquement la plage de données spécifiée au POP CDNDCDN, conformément à l'en-tête Range. Cette fonctionnalité améliore l'efficacité de la distribution des fichiers, augmente le taux de réussite du cache, réduit la consommation de trafic et la charge sur le serveur d'origine, tout en accélérant le temps de réponse des ressources.
Contexte
L'en-tête Range est un en-tête HTTP qui définit la plage de contenu à récupérer. Par exemple, Range: bytes=0-100 indique que la requête vers l'origine doit extraire les 101 premiers octets du fichier.
Une fois la récupération à l'origine par plage activée, si CDNDCDN reçoit une requête utilisateur et que la ressource n'est pas mise en cache ou a expiré sur un point de présence (POP) CDNDCDN, ce POP CDNDCDN effectue une récupération à l'origine via des requêtes Range. Il télécharge ainsi uniquement la partie nécessaire de la ressource depuis le serveur d'origine, puis la met en cache sur le POP CDNDCDN.
Le schéma suivant illustre le fonctionnement de la récupération à l'origine par plage.
Remarques d'utilisation
Avant d'activer la récupération à l'origine par plage, assurez-vous que votre serveur d'origine prend en charge les requêtes par plage. Le serveur doit pouvoir traiter le champ Range d'un en-tête HTTP et répondre avec le code d'état
206 Partial Content. Si votre serveur d'origine ne gère pas ces requêtes, l'activation de cette fonctionnalité entraînera l'échec de la mise en cache des ressources.La fonctionnalité Multipart Ranges est désactivée par défaut et ne s'active pas automatiquement lors de l'activation de la récupération à l'origine par plage. Pour activer Multipart Ranges, envoyez un ticket.
L'activation de la récupération à l'origine par plage augmente le nombre de requêtes par seconde (QPS) vers l'origine. Si une limitation de débit est configurée sur votre serveur d'origine, cela risque de déclencher ses règles de restriction. Pour contourner ce problème, appelez l'opération DescribeL2VipsByDomain afin d'obtenir les adresses IP des POP de récupération à l'origine DCDN, puis ajoutez-les à la liste d'autorisation d'adresses IP de votre serveur d'origine DCDN.
Procédure
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, localisez le nom de domaine cible et cliquez sur Configure.
Dans l'arborescence de navigation gauche du nom de domaine, cliquez sur Origin Fetch.
Sous l'onglet Origin Fetch, repérez la section Range Origin Fetch et cliquez sur Modify.
-
En vous référant aux descriptions du tableau ci-dessous, définissez Range Origin Fetch sur Do Not Enable Range Origin Fetch, Match Client ou Enable Range Origin Fetch (Recommended for Large File Delivery).
Si vous choisissez Match Client ou Enable Range Origin Fetch (Recommended for Large File Delivery) pour Range Origin Fetch, vous pouvez configurer la Shard Size. La taille de fragment par défaut est de 512 Ko.
Paramètre
Option
Description
Exemple
Range Origin Fetch
Do Not Enable Range Origin Fetch
Le paramètre par défaut est Do not use range origin fetch. Avec cette configuration, qu'un client envoie ou non une requête Range à un point de présence (POP) DCDN, le POP DCDN récupère l'intégralité du fichier auprès de l'origine. Cela réduit l'efficacité de la distribution pour les fichiers volumineux.
Par exemple, si une requête client vers un POP DCDN contient
Range: bytes=0-100, le POP DCDN transmet une requête au serveur d'origine sans le paramètre Range. Le serveur d'origine envoie alors le fichier complet au POP DCDN. Ainsi, pour un fichier de 10 Mo, le serveur d'origine transfère les 10 Mo entiers au POP DCDN. Le POP DCDN met en cache le fichier reçu, puis répond au client avec le contenu correspondant à la requêteRange: bytes=0-100.Match Client
Après l'activation de Follow Client Range Requests, lorsqu'un client adresse une requête Range à un nœud DCDN, ce nœud transmet une requête Range au serveur d'origine. La première requête vers l'origine depuis le nœud DCDN récupère un bloc de données dont la taille correspond à la plage demandée par le client, arrondie au multiple entier supérieur de la taille de fragment. Toutes les requêtes suivantes vers votre serveur d'origine utilisent la taille de fragment que vous avez spécifiée.
Prenons l'exemple d'une taille de fragment de 512 Ko. Si un client envoie à un POP DCDN une requête contenant
Range:bytes=0-614399(soit 600 Ko) et que le fichier n'est pas en cache sur ce POP DCDN, la première récupération à l'origine télécharge un fragment de 1 024 Ko (600 Ko arrondis à 1 024 Ko). Pour les requêtes ultérieures concernant d'autres fragments non mis en cache, le POP DCDN accède au serveur d'origine en utilisant une taille de fragment de 512 Ko.Enable Range Origin Fetch (Recommended for Large File Delivery)
Une fois l'option Enable Range Origin Fetch (Recommended for large files) activée, le POP DCDN utilise systématiquement des requêtes Range pour la récupération à l'origine, indépendamment de la présence d'une telle requête côté client. Toutes les requêtes Range envoyées par les POP DCDN au serveur d'origine respectent la taille de fragment définie.
Aucun
Shard Size
512 KB
1 MB
2 MB
4 MB
Vous pouvez définir la taille de fragment pour la récupération à l'origine par plage si le mode est réglé sur Match Client ou Enable Range Origin Fetch (Recommended for Large File Delivery). La valeur par défaut est de 512 Ko.
1 MB
Rule Condition
Une condition de règle détermine si une configuration s'applique à une requête en évaluant divers paramètres de celle-ci.
ImportantLorsqu'une fonctionnalité fait référence à des conditions de règle configurées dans le moteur de règles, l'ordre d'exécution suit la priorité des conditions associées, et non l'ordre de configuration de la fonctionnalité.
Do not use conditions : Désactive les règles conditionnelles.
Vous pouvez ajouter ou modifier des règles conditionnelles dans le moteur de règles.
Une condition de règle identifie les paramètres des requêtes utilisateur afin de déterminer si une configuration s'applique à une requête spécifique.
Désactivé