Wat is het AXD-bestandsformaat?
Bestanden met de extensie .axd worden gebruikt door ASP.NET Web Forms-applicaties die op Microsoft IIS draaien. In tegenstelling tot de meeste webbestandstypen is .axd geen document dat op schijf is opgeslagen - het is een virtueel URL-eindpunt dat in web.config is gekoppeld aan een ingebouwde IHttpHandler-klasse die zijn respons ter plekke genereert.
.axd-eindpunten slaan geen instructies op clientmachines op; in plaats daarvan streamt de handler ingesloten assembly-bronnen - scripts, afbeeldingen en andere assets - rechtstreeks vanuit gecompileerde .dll-assemblies naar de opvragende browser.
Standaard worden .axd-broneindpunten WebResource.axd of ScriptResource.axd genoemd. Hoewel ze erg op elkaar lijken, hebben ze elk een eigen rol: WebResource.axd verwerkt algemene ingesloten bronnen zoals afbeeldingen en binaire assets, terwijl ScriptResource.axd doorgaans wordt gebruikt met het ASP.NET AJAX-framework en extra functies biedt zoals scriptcombinatie en compressie. Een derde ingebouwd eindpunt, Trace.axd, toont trace-diagnostiek per verzoek voor debugging.
Handlers die via .axd zijn geregistreerd, kunnen JavaScript-bestanden, CSS-stylesheets, afbeeldingen en HTML-trace-output serveren. .axd-eindpunten worden ook veelvuldig aan de clientzijde gebruikt voor het ophalen van afbeelding-, tekst- of scriptbestanden die zijn ingesloten in server-side assemblies. De query-stringparameter d= die door WebResource.axd wordt gebruikt, is HMAC-ondertekend met de machineKey van de applicatie, wat het eindpunt beschermt tegen ongeoorloofde bron-enumeratie. .axd is een klassieke ASP.NET Web Forms-functie en wordt niet gebruikt in ASP.NET Core, dat dit vervangt door statische web-assets en bundling-middleware.
Beveiliging & veiligheid
RISICO: LOWEen .axd op zichzelf is geen bestand en niet gevaarlijk om te „hebben”. Twee belangrijke punten: (1) Aan de serverzijde kan het ingeschakeld laten van Trace.axd in productie verzoekgegevens lekken (headers, sessie, query-waarden) naar iedereen die erheen navigeert - het moet worden uitgeschakeld in de productie-web.config. (2) WebResource.axd is historisch gekoppeld aan ASP.NET-beveiligingsadviezen (met name de padding-oracle-kwetsbaarheid uit 2010, MS10-070, die misbruik maakte van het versleutelde d=-token) - houd het .NET Framework gepatcht. Voor gewone gebruikers is een opgeslagen .axd-bestand gewoon script- of afbeeldingstekst en veilig te inspecteren in een editor.
Formaatdetails
in een notendopProgramma's die AXD-bestanden openen
Technische details
diepe specificaties| Formaat-type | Virtueel server-side HTTP-handler-eindpunt; er bestaat geen bestand op schijf - de `.axd`-URL wordt tijdens runtime opgelost door een geregistreerde IHttpHandler-klasse |
| Handler-interface | Implementeert `System.Web.IHttpHandler` of `IHttpAsyncHandler`; de methode `ProcessRequest(HttpContext)` schrijft de respons rechtstreeks naar de HTTP-outputstream |
| Handler-registratie | Gedeclareerd in `<httpHandlers>` (IIS 6 / .NET 2.0) of `<handlers>` (IIS 7+ geïntegreerde pipeline) in `web.config` |
| Ontwikkelaar / platform | Microsoft; onderdeel van ASP.NET Web Forms op het .NET Framework (geïntroduceerd in 2002); afwezig in ASP.NET Core |
| Veelvoorkomende eindpuntnamen | `WebResource.axd` (algemene ingesloten bronnen), `ScriptResource.axd` (ASP.NET AJAX-scripts), `Trace.axd` (verzoekdiagnostiek) |
| MIME-type | Varieert per handler-respons - `application/javascript`, `text/css`, `image/png`, `text/html`, en andere; dynamisch ingesteld per verzoek |
| Bron van resources | Ingesloten bronnen gecompileerd in `.dll`-assemblies met build-actie `EmbeddedResource`; opgehaald via `Assembly.GetManifestResourceStream` op het moment van aanvraag |
| Beveiligingsmechanisme | De `d=` query-parameter van `WebResource.axd` is HMAC-ondertekend met de `machineKey` van de applicatie; ongeldige handtekeningen retourneren HTTP 400, wat bron-enumeratie voorkomt |
| Caching-gedrag | Responsen bevatten `Cache-Control: public` en een `Expires`-header in de verre toekomst; IIS output-caching slaat herhaalde responsen op in het geheugen voor betere prestaties |
| Compressie | IIS kan HTTP-niveau gzip- of Brotli-compressie toepassen op `.axd`-responsen tijdens verzending; `ScriptResource.axd` ondersteunt ook scriptcombinatie aan de serverzijde |
| Client-toegangsmethode | HTTP GET met een versleutelde en HMAC-ondertekende query-string (bijv. `?d=<token>&t=<timestamp>`); de browser ontvangt de respons als een normale bron |
| `Trace.axd` output | Rendert ASP.NET-tracegegevens per verzoek als HTML - tijdsverloop, HTTP-headers, cookies, formulierwaarden, servervariabelen en control-tree |
| Vervangen door | De static web assets pipeline en bundling/minification middleware van ASP.NET Core; er bestaan geen `.axd`-handlers in ASP.NET Core |
| Uitgebracht | 2002 (ASP.NET 1.0, .NET Framework) |
| Laatste versie | ASP.NET Web Forms / Framework 4.8 (classic; not used in ASP.NET Core) |
| Specificatie | learn.microsoft.com |
AXD conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over AXD-bestanden.