Skip To Content

Améliorer les performances d’affichage du service de carte

Lorsque des clients envoient des demandes d’affichage d’un service de carte à ArcGIS Server, la réponse du serveur est généralement mise en cache par le navigateur et réutilisée pendant un certain temps. Ce comportement aide ArcGIS Server à optimiser les performances d’affichage d’un service de carte. Toutefois, selon la manière dont le service de carte et les données qui lui sont associées sont utilisés dans les applications, vous pouvez ajuster la durée pendant laquelle le navigateur utilise la réponse mise en cache. Pour ce faire, ajoutez la propriété cacheControlMaxAge au fichier JSON (JavaScript Object Notation) du service.

Remarque :

Les paramètres décrits dans cette page d’aide s’appliquent aux services de carte. Pour configurer la propriété cacheControlMaxAge d’un service d’entités, reportez-vous à la rubrique Services d’entités et applications clientes.

Utilisation de la propriété cacheControlMaxAge

Les réponses du service de carte ArcGIS Server incluent un en-tête ETag (balise d’entité) et Cache-Control. La valeur de l’en-tête ETag identifie de façon unique la réponse. L’en-tête Cache-Control possède une valeur d’âge maximal qui informe le navigateur de la durée maximale pendant laquelle il peut réutiliser une réponse à partir du cache du navigateur. Cette valeur est contrôlée par la propriété cacheControlMaxAge.

Lorsqu'une demande est répétée et que l'âge maximal du cache n'a pas encore expiré, le navigateur utilise la réponse mise en cache sans envoyer la demande au serveur. Si l’âge maximal a expiré, le navigateur doit envoyer la demande au serveur et définir un en-tête IF-NONE-MATCH avec une valeur ETag associée correspondant à la réponse présente dans le cache. ArcGIS Server évalue la demande et utilise la valeur ETag pour déterminer si la réponse a changé. Si la réponse du serveur diffère de la copie stockée dans le navigateur, le serveur envoie une nouvelle réponse au navigateur. Si la réponse est identique à la copie du navigateur, le serveur avertit le navigateur de continuer à utiliser la réponse présente dans son cache.

Définir la valeur de la propriété cacheControlMaxAge

En tant qu’administrateur ArcGIS Server, vous pouvez définir la propriété cacheControlMaxAge afin de spécifier la durée pendant laquelle un navigateur est autorisé à utiliser une réponse mise en cache. Le fait de réduire les éventualités où ArcGIS Server doit envoyer une réponse complète permet d’améliorer l’efficacité du cache du navigateur, de favoriser l’optimisation des applications et d’économiser la bande passante du réseau.

La valeur par défaut est 0. Cela signifie que le navigateur renvoie toujours une demande et qu’ArcGIS Server traite cette demande, puis envoie une réponse complète au navigateur si le contenu a changé. Cette valeur fonctionne correctement pour la plupart des applications.

Pour les services de carte avec des jeux de données ou une symbologie qui changent fréquemment, une valeur telle que 5 minutes (300 secondes) est recommandée. Dans les applications avec des animations ou des données temporelles, envisagez d’augmenter cette valeur pour rendre les animations plus fluides.

Pour ajouter la propriété cacheControlMaxAge à un service de carte et spécifier sa valeur par défaut, procédez comme suit :

  1. Dans un navigateur Web, ouvrez ArcGIS Server Administrator Directorye et connectez-vous en tant qu’utilisateur doté des privilèges d’administrateur.

    L’URL est au format http://gisserver.domain.com:6080/arcgis/admin.

  2. Cliquez sur services et choisissez le service de carte à modifier dans la liste Services.

    Si le service n’apparaît pas dans cette liste, il est peut-être dans un répertoire sous le dossier racine.

  3. Dans la page Service - <nom du service> (<type de service>), faites défiler l’affichage vers le bas et cliquez sur modifier.
  4. Dans la boîte de dialogue Service Properties (Propriétés du service), recherchez la section "properties" du fichier JSON du service.
  5. Ajoutez la propriété cacheControlMaxAge dans la section et spécifiez sa valeur (en secondes).

    Dans l’exemple suivant, cacheControlMaxAge est défini sur 300 secondes.

    "properties": {
      "cacheControlMaxAge": "300",
  6. Cliquez sur Enregistrer les mises à jour.

Sur la page Service - <nom du service> (<type du service>), vérifiez que la propriété cacheControlMaxAge et la valeur que vous lui avez attribuée figurent dans la section Properties (Propriétés).