Deprecation
Le report deprecation prévient quand une page utilise une fonctionnalité de la plateforme web que le navigateur prévoit de retirer.
Dernière mise à jour:
Un report deprecation vous indique que la page a utilisé une API que le navigateur a marquée pour retrait. C'est un signal d'avertissement précoce : vous découvrez quel chemin de code repose sur une fonctionnalité qui cessera de fonctionner, avec un emplacement source, avant qu'elle ne casse dans une future version.
Non-standard
Le deprecation reporting n'est défini dans aucune spécification actuelle et est implémenté principalement dans Chromium. Utilisez-le comme un avertissement, pas comme un signal cross-browser garanti.
Quand le navigateur l'envoie
Quand la page utilise une API dépréciée. Le report part vers l'endpoint de reporting par défaut dans Reporting-Endpoints (il n'a pas de directive par politique), et il est aussi observable dans la page via ReportingObserver, ce qui est utile pour faire remonter les dépréciations aux développeurs pendant un build.
Exemple de payload
{
"type": "deprecation",
"age": 32,
"url": "https://api-next.centralcsp.com/",
"user_agent": "Mozilla/5.0 ...",
"body": {
"id": "XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload",
"message": "Synchronous XMLHttpRequest on the main thread is deprecated ...",
"anticipatedRemoval": null,
"sourceFile": "https://api-next.centralcsp.com/app.js",
"lineNumber": 54,
"columnNumber": 11
}
}Chaque body de report deprecation porte ces champs à l'intérieur de l'enveloppe de report partagée.
Référence des champs
| Champ | Signification |
|---|---|
id | Un identifiant de fonctionnalité lisible par machine, la clé stable de regroupement. |
message | Une description lisible par un humain de la dépréciation. |
anticipatedRemoval | La date de retrait prévue, ou null si elle n'est pas annoncée. |
sourceFile | Le fichier qui a utilisé l'API dépréciée. |
lineNumber / columnNumber | L'emplacement dans ce fichier. |
Comment le recevoir
Déclarez un endpoint default dans Reporting-Endpoints ; les deprecation reports n'ont pas d'autre cible. CentralCSP les collecte sur un seul endpoint aux côtés de tous les autres types.
Ce qu'il vous apprend sur la sécurité
Les API dépréciées sont souvent celles aux défauts les plus faibles (XMLHttpRequest synchrone, crypto legacy, schémas non sûrs que la plateforme retire). Les éliminer supprime à la fois une future casse et, souvent, une faiblesse de sécurité, donc le report mérite qu'on agisse dessus plutôt que de le classer.
Pièges
anticipatedRemoval vaut fréquemment null, alors ne vous y fiez pas pour planifier. L'id est la clé stable pour regrouper et suivre ; le libellé du message peut changer entre versions de navigateur.
Prise en charge par les navigateurs
Navigateurs basés sur Chromium uniquement ; pas Baseline. Les autres moteurs n'émettent pas de deprecation reports, alors traitez-le comme un signal Chromium-first.
Voir aussi
- ReportingObserver
- report intervention
- Reports de dépréciation et d'intervention
- Monitoring des dépréciations dans CentralCSP
- Header Reporting-Endpoints
- Le format de livraison des rapports
Sources
Erreur réseau
Le report network-error envoyé par Network Error Logging quand une requête échoue au niveau réseau, avant de joindre votre serveur.
Intervention
Le rapport intervention se declenche quand le navigateur refuse une action demandee par la page, pour proteger l'utilisateur ou les performances.