Aller au contenu principal

1. Introduction

Les agents utilisateurs (User Agents) interagissent avec du contenu créé par un grand nombre d'auteurs. Bien que beaucoup de ces auteurs soient bien intentionnés, certains auteurs peuvent être malveillants. Dans la mesure où les agents utilisateurs entreprennent des actions basées sur le contenu qu'ils traitent, les implémenteurs d'agents utilisateurs peuvent souhaiter restreindre la capacité des auteurs malveillants à perturber la confidentialité ou l'intégrité d'autres contenus ou serveurs.

À titre d'exemple, considérez un agent utilisateur HTTP qui affiche du contenu HTML récupéré de divers serveurs. Si l'agent utilisateur exécute des scripts contenus dans ces documents, l'implémenteur de l'agent utilisateur peut souhaiter empêcher les scripts récupérés d'un serveur malveillant de lire des documents stockés sur un serveur honnête, qui pourrait, par exemple, se trouver derrière un pare-feu.

Traditionnellement, les agents utilisateurs ont divisé le contenu selon son « origine (origin) ». Plus précisément, les agents utilisateurs permettent au contenu récupéré d'une origine d'interagir librement avec d'autres contenus récupérés de cette origine, mais les agents utilisateurs restreignent la manière dont ce contenu peut interagir avec du contenu provenant d'une autre origine.

Ce document décrit les principes qui sous-tendent la politique dite de même origine (same-origin policy) ainsi que les « détails pratiques » de la comparaison et de la sérialisation des origines. Ce document ne décrit pas toutes les facettes de la politique de même origine, dont les détails sont laissés à d'autres spécifications, telles que HTML [HTML] et WebSockets [RFC6455], car les détails sont souvent spécifiques aux applications.