Qu'est-ce que le format de fichier AXD ?
Les fichiers avec l'extension .axd sont utilisés par les applications ASP.NET Web Forms s'exécutant sur Microsoft IIS. Contrairement à la plupart des types de fichiers Web, .axd n'est pas un document stocké sur disque - c'est un point de terminaison d'URL virtuel mappé dans web.config à une classe IHttpHandler intégrée qui génère sa réponse à la volée.
Les points de terminaison .axd ne stockent pas d'instructions sur les machines clientes ; au lieu de cela, le gestionnaire diffuse les ressources d'assembly intégrées - scripts, images et autres actifs - directement à partir des assemblys .dll compilés vers le navigateur demandeur.
Par défaut, les points de terminaison de ressources .axd sont nommés soit WebResource.axd, soit ScriptResource.axd. Bien que très similaires, chacun joue un rôle distinct : WebResource.axd gère les ressources intégrées générales telles que les images et les actifs binaires, tandis que ScriptResource.axd est généralement utilisé avec le framework ASP.NET AJAX et offre des fonctionnalités supplémentaires telles que la combinaison et la compression de scripts. Un troisième point de terminaison intégré, Trace.axd, affiche les diagnostics de trace par requête pour le débogage.
Les gestionnaires enregistrés via .axd peuvent servir des fichiers JavaScript, des feuilles de style CSS, des images et une sortie de trace HTML. Les points de terminaison .axd sont également couramment utilisés côté client pour récupérer des fichiers d'image, de texte ou de script intégrés dans des assemblys côté serveur. Le paramètre de chaîne de requête d= utilisé par WebResource.axd est signé par HMAC avec la machineKey de l'application, protégeant le point de terminaison contre l'énumération non autorisée des ressources. .axd est une fonctionnalité classique d'ASP.NET Web Forms et n'est pas utilisé dans ASP.NET Core, qui le remplace par des actifs Web statiques et un middleware de regroupement.
Sécurité et sûreté
RISQUE : LOWUn .axd en soi n'est pas un fichier et n'est pas dangereux à « posséder ». Deux points réels : (1) Côté serveur, laisser Trace.axd activé en production peut divulguer des données de requête (en-têtes, session, valeurs de requête) à quiconque y accède - il doit être désactivé dans le web.config de production. (2) WebResource.axd a été historiquement lié à des avis de sécurité ASP.NET (notamment la vulnérabilité d'oracle de remplissage de 2010, MS10-070, qui abusait du jeton d= chiffré) - maintenez le .NET Framework à jour. Pour les utilisateurs ordinaires, un fichier .axd enregistré n'est que du texte de script/image et peut être inspecté en toute sécurité dans un éditeur.
Détails du format
en brefProgrammes qui ouvrent les fichiers AXD
Détails techniques
spécifications approfondies| Type de format | Point de terminaison du gestionnaire HTTP virtuel côté serveur ; aucun fichier n'existe sur le disque - l'URL `.axd` est résolue au moment de l'exécution par une classe IHttpHandler enregistrée |
| Interface du gestionnaire | Implémente `System.Web.IHttpHandler` ou `IHttpAsyncHandler` ; la méthode `ProcessRequest(HttpContext)` écrit la réponse directement dans le flux de sortie HTTP |
| Enregistrement du gestionnaire | Déclaré dans `<httpHandlers>` (IIS 6 / .NET 2.0) ou `<handlers>` (IIS 7+ pipeline intégré) dans `web.config` |
| Développeur / plateforme | Microsoft ; fait partie d'ASP.NET Web Forms sur le .NET Framework (introduit en 2002) ; absent d'ASP.NET Core |
| Noms de points de terminaison courants | `WebResource.axd` (ressources intégrées générales), `ScriptResource.axd` (scripts ASP.NET AJAX), `Trace.axd` (diagnostics de requête) |
| Type MIME | Varie selon la réponse du gestionnaire - `application/javascript`, `text/css`, `image/png`, `text/html`, et autres ; défini dynamiquement par requête |
| Source de la ressource | Ressources intégrées compilées dans des assemblys `.dll` avec l'action de génération `EmbeddedResource` ; récupérées via `Assembly.GetManifestResourceStream` au moment de la requête |
| Mécanisme de sécurité | Le paramètre de requête `d=` de `WebResource.axd` est signé par HMAC à l'aide de la `machineKey` de l'application ; les signatures invalides renvoient un HTTP 400, empêchant l'énumération des ressources |
| Comportement de mise en cache | Les réponses portent `Cache-Control: public` et un en-tête `Expires` lointain ; la mise en cache de sortie IIS stocke les réponses répétées en mémoire pour la performance |
| Compression | IIS peut appliquer une compression gzip ou Brotli au niveau HTTP aux réponses `.axd` en transit ; `ScriptResource.axd` prend également en charge la combinaison de scripts côté serveur |
| Méthode d'accès client | HTTP GET avec une chaîne de requête chiffrée et signée par HMAC (ex: `?d=<token>&t=<timestamp>`) ; le navigateur reçoit la réponse comme une ressource normale |
| Sortie de `Trace.axd` | Affiche les données de trace ASP.NET par requête sous forme de HTML - répartition du temps, en-têtes HTTP, cookies, valeurs de formulaire, variables serveur et arborescence de contrôle |
| Remplacé par | Le pipeline d'actifs Web statiques d'ASP.NET Core et le middleware de regroupement/minification ; aucun gestionnaire `.axd` n'existe dans ASP.NET Core |
| Publié | 2002 (ASP.NET 1.0, .NET Framework) |
| Dernière version | ASP.NET Web Forms / Framework 4.8 (classic; not used in ASP.NET Core) |
| Spécification | learn.microsoft.com |
Conversions AXD
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers AXD.