Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

En-tête Origin-Agent-Cluster

L'en-tête de réponse HTTP Origin-Agent-Cluster sert à demander que le Document associé soit placé dans un groupe d'agents indexé par origine. Cela signifie que les ressources du système d'exploitation (par exemple, le processus du système d'exploitation) utilisées pour évaluer le document ne doivent être partagées qu'avec d'autres documents de la même origine.

L'effet de ceci est qu'un document gourmand en ressources aura moins de chances de dégrader les performances des documents provenant d'autres origines.

Type d'en-tête En-tête de réponse

Syntaxe

http
Origin-Agent-Cluster: <boolean>

Directives

<boolean>

?1 indique que le Document associé doit être placé dans un groupe d'agents indexé par origine. Les valeurs autres que ?1 sont ignorées (par exemple, le champ structuré ?0 pour faux).

Description

Les navigateurs web modernes ont une architecture multiprocessus dans laquelle les pages de différentes origines peuvent s'exécuter dans différents processus du système d'exploitation. Cela est important pour les performances, car cela signifie qu'une page gourmande en ressources n'aura pas autant d'impact sur les autres pages ouvertes par l'utilisateur·ice.

Cependant, les navigateurs ne peuvent pas, en règle générale, exécuter les pages de même site, d'origine croisée dans des processus différents, en raison de certaines API DOM qui dépendent de la communication entre pages de même site mais d'origines différentes. Par exemple, par défaut, les pages des deux origines suivantes partageront les mêmes ressources du système d'exploitation :

https://apples.example.org
https://oranges.example.org

En définissant l'en-tête Origin-Agent-Cluster, une page peut demander au navigateur d'allouer des ressources dédiées à cette origine qui ne sont partagées avec aucune autre origine.

Le navigateur n'est pas obligé d'honorer la demande. S'il le fait, la propriété Window.originAgentCluster retourne true, et la fenêtre ne pourra pas effectuer les actions suivantes, qui dépendent toutes de la communication entre pages de même site mais d'origines différentes :

Les groupes d'agents indexés par origine ne doivent pas être considérés comme une fonctionnalité de sécurité : les navigateurs peuvent ignorer la demande pour diverses raisons, ou choisir de l'implémenter d'une manière qui ne fournit pas de protection mémoire (par exemple, en utilisant des threads séparés au lieu de processus séparés). Cette fonctionnalité est plutôt une indication que l'expérience utilisateur·ice serait améliorée si cette origine se voyait attribuer des ressources dédiées.

Par exemple, supposons que votre site inclut une page d'une origine qui intègre un cadre intégré de même site mais d'origine croisée exécutant un jeu gourmand en ressources. En définissant Origin-Agent-Cluster sur le document de la balise, vous pouvez empêcher le jeu d'affecter les performances de la page principale.

Le navigateur veillera à ce que toutes les pages d'une même origine soient soit indexées par origine, soit non indexées. Cela signifie que :

  • Si la première page d'une origine ne définit pas l'en-tête, alors aucune autre page de cette origine ne sera indexée par origine, même si ces autres pages définissent l'en-tête.
  • Si la première page d'une origine définit l'en-tête et est indexée par origine, alors toutes les autres pages de cette origine seront indexées par origine, qu'elles le demandent ou non.

Pour éviter ce genre de situation imprévisible, vous devez définir cet en-tête pour toutes les pages d'une même origine, ou pour aucune d'entre elles.

Exemples

http
Origin-Agent-Cluster: ?1

Spécifications

Specification
HTML
# origin-agent-cluster

Compatibilité des navigateurs

Voir aussi