Aller au contenu principal

4.13. Coexistence avec la navigation Web

4.13. Coexistence avec la navigation Web

Même lorsqu'une application n'est pas destinée à être utilisée avec un navigateur Web, ses ressources peuvent être accessibles par des navigateurs, soit accidentellement (par exemple, par erreur de configuration), soit de manière malveillante. Les applications doivent considérer comment elles se comporteront dans de telles situations.

Pour les applications qui ne sont pas destinées à être utilisées avec des navigateurs:

  • Les applications DEVRAIENT retourner un message d'erreur approprié (par exemple, 403 Forbidden ou 404 Not Found) lorsqu'elles sont accédées par un navigateur.

  • Les applications DEVRAIENT inclure des en-têtes de sécurité (tels que Content-Security-Policy [CSP], X-Frame-Options, etc.) pour limiter ce que les navigateurs peuvent faire s'ils accèdent à l'application.

  • Les applications DEVRAIENT être conscientes du comportement spécifique au navigateur, tel que le suivi automatique des redirections, l'exécution de JavaScript et la création de requêtes de préchargement.

Pour les applications destinées à prendre en charge à la fois les clients API et les navigateurs Web:

  • Les applications DEVRAIENT utiliser la négociation de contenu pour fournir des représentations appropriées pour différents clients.

  • Les applications DEVRAIENT s'assurer que l'accès basé sur le navigateur ne crée pas de vulnérabilités de sécurité (voir Section 6).

  • Les applications DEVRAIENT envisager d'utiliser des URL ou des sous-domaines différents pour l'accès par navigateur et non-navigateur afin de permettre des politiques de sécurité différentes.

Les applications DEVRAIENT être conscientes du Cross-Origin Resource Sharing (CORS) [FETCH] et de la manière dont il affecte l'accès basé sur le navigateur aux ressources. CORS peut être utilisé pour contrôler quelles origines sont autorisées à accéder aux ressources à partir d'un navigateur.