Wat is het BROWSER-bestandsformaat?
Een .browser-bestand is een XML-configuratiebestand dat wordt gebruikt door ASP.NET (versies 2.0 tot en met 4.x) om browsermogelijkheden te definiëren. Het koppelt User-Agent-tekenreekspatronen aan een reeks functionaliteitsvlaggen - zoals JavaScript-ondersteuning, CSS-niveau, cookie-afhandeling en schermafmetingen - die de ASP.NET-runtime gebruikt om de door de server gegenereerde uitvoer aan te passen aan specifieke clients.
Het bestand volgt een hiërarchisch schema met een <browsers>-wortelelement dat <browser>-kindelementen bevat. Elk element declareert een User-Agent regex-patroon, erft optioneel over van een bovenliggende browserdefinitie via parentID, en bevat sleutel-waarde-paren voor de mogelijkheden. Bestanden worden opgeslagen in App_Browsers/ binnen het webproject (overschrijvingen op applicatieniveau) of in de systeembrede map op %windir%\Microsoft.NET\Framework\v4.0.30319\CONFIG\Browsers\.
Bij het opstarten van de applicatie compileert ASP.NET alle .browser-bestanden naar een BrowserCapabilitiesFactory-klasse. Dit mechanisme verving de oudere <browserCaps>-sectie in web.config toen ASP.NET 2.0 in november 2005 werd gelanceerd.
Dit systeem is verouderd geraakt omdat User-Agent-sniffing onbetrouwbaar bleek door de wildgroei aan browsers en apparaten. ASP.NET Core en .NET 5+ hebben BrowserCapabilities volledig verwijderd ten gunste van feature-detectie aan de clientzijde. Bestaande .browser-bestanden blijven alleen relevant voor applicaties die nog steeds gericht zijn op .NET Framework 4.x op IIS.
Beveiliging & veiligheid
RISICO: LOWXML-tekstbestand zonder uitvoerbare code; bevat alleen configuratiegegevens. Geen bekend beveiligingsrisico bij het bekijken of bewerken. Onjuist geformatteerde items zouden in het ergste geval de browserdetectie aan de serverzijde beïnvloeden.
Formaatdetails
in een notendopProgramma's die BROWSER-bestanden openen
Technische details
diepe specificaties| Formaat | XML (UTF-8 platte tekst) |
| Wortelelement | <browsers> |
| Kindelement | <browser> - attributen: id, parentID, defaultStateID |
| User-Agent matching | Regex-patronen gedeclareerd in <identification> kindelementen |
| Opslag van mogelijkheden | Sleutel-waarde-paren in <capabilities> kindelementen (JavaScript, CSS, cookies, schermafmetingen, etc.) |
| Overerving | Browser-items erven definities van ouders over via het parentID-attribuut |
| Pad op machineniveau | %windir%\Microsoft.NET\Framework\v4.0.30319\CONFIG\Browsers\ |
| Pad op app-niveau | App_Browsers\ map binnen het ASP.NET-webproject |
| Compilatie | ASP.NET compileert .browser-bestanden naar de BrowserCapabilitiesFactory-klasse bij het opstarten van de applicatie |
| Schemaversie | ASP.NET 2.0+ gebruikt .browser-bestanden; de 1.x-voorganger gebruikte <browserCaps> in web.config |
| Bijbehorend OS | Windows (IIS + ASP.NET .NET Framework) |
| Typische bestandsgrootte | 1 KB - 50 KB |
| Verouderd in | .NET Core / .NET 5+ - BrowserCapabilities-mechanisme volledig verwijderd |
| Vervanging | Feature-detectie aan de clientzijde via systeemeigen browser-API's en bibliotheken zoals Modernizr |
| Uitgebracht | ASP.NET 2.0 (2005) |
| Laatste versie | ASP.NET 4.x (last significant update; deprecated in .NET Core/.NET 5+) |
| Specificatie | learn.microsoft.com |
BROWSER conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over BROWSER-bestanden.