Soorten middleware
Middleware in softwareontwikkeling, met name in webtoepassingen, fungeert als een brug tussen de kernlogica van uw applicatie en de externe wereld. Het is verantwoordelijk voor het verwerken van taken zoals:
* authenticatie: Gebruikersreferenties controleren en toegang verlenen.
* Autorisatie: Bepalen tot welke bronnen een gebruiker toegang heeft.
* Logging: Evenementen en verzoeken om foutopsporing en monitoring op te nemen.
* Foutafhandeling: Uitzonderingen vangen en gracieuze reacties geven.
* VERVOLG VALIDATIE: Ervoor zorgen dat gegevens die door de client worden verzonden geldig is.
* Beperking van de beoordeling: Het voorkomen van overmatige verzoeken van een enkele gebruiker of IP -adres.
* Caching: Opslaan van vaak toegankelijke gegevens om de prestaties te verbeteren.
* cors (Cross-Origin Resource Sharing): Cross-Origin-aanvragen voor beveiliging inschakelen.
Hier is een uitsplitsing van enkele veel voorkomende soorten middleware:
1. Op basis van doel:
* Authenticatie Middleware: Verifieert gebruikersidentiteit en verleent toegang op basis van referenties.
* Voorbeeld: JWT (JSON Web Token) Authenticatie, OAuth2 -authenticatie.
* Autorisatie Middleware: Bepaalt de privileges van de gebruiker en biedt toegang tot specifieke bronnen.
* Voorbeeld: Role-gebaseerde Access Control (RBAC), Resource-Based Access Control (RBAC).
* Middleware inloggen: Records Evenementen en verzoeken om foutopsporing en monitoring.
* Voorbeeld: Winston, Pino, Morgan.
* Foutafhandeling Middleware: Vangt uitzonderingen en verwerkt fouten sierlijk.
* Voorbeeld: De ingebouwde fouthandler van Express, aangepaste fouthandlers.
* Verzoek validatie Middleware: Valideert gegevens die door de client zijn verzonden om de juistheid ervan te waarborgen.
* Voorbeeld: Joi, Express-Validator.
* Beperkende middleware beperken: Beperkt het aantal verzoeken dat een gebruiker of IP -adres binnen een bepaald tijdsbestek kan maken.
* Voorbeeld: Expresssnelheidslimiet, op redis gebaseerde tariefbeperkers.
* Caching Middleware: Winkels vaak toegang tot gegevens voor sneller ophalen.
* Voorbeeld: Redis, Memcached.
* cors middleware: Staat cross-origin verzoeken toe terwijl de beveiliging wordt gehandhaafd.
* Voorbeeld: Cors, express-cors.
* Body Parsing Middleware: Parses inkomende aanvragende instanties in bruikbare gegevensstructuren.
* Voorbeeld: Body-parser, Multer.
2. Gebaseerd op uitvoering:
* Voorverwerking Middleware: Voert uit voordat het verzoek de routehandler bereikt.
* Voorbeeld: Authenticatie, autorisatie, logboekregistratie, aanvraagvalidatie.
* Middleware naverwerking: Uitgevoerd nadat de routehandler het verzoek heeft verwerkt.
* Voorbeeld: Foutafhandeling, caching, logboekregistratie (voor antwoorden).
3. Gebaseerd op implementatie:
* ingebouwde middleware: Middleware geleverd door het framework zelf.
* Voorbeeld: Express's ingebouwde foutafhandeling middleware, body-parerer.
* aangepaste middleware: Middleware ontwikkeld door de ontwikkelaar om aan specifieke behoeften te voldoen.
* Voorbeeld: Middleware voor het implementeren van een aangepaste authenticatiestrategie.
* Middleware van derden: Middleware verstrekt door externe bibliotheken.
* Voorbeeld: JWT -authenticatie -middleware, rate beperkende middleware.
Het kiezen van de juiste middleware:
Het type middleware dat u nodig heeft, is afhankelijk van de specifieke vereisten van uw applicatie. Overweeg uw behoeften aan beveiliging, prestaties, logboekregistratie en foutafhandeling.
Voorbeeld:
Stel je voor dat je een webtoepassing bouwt met gebruikersauthenticatie. Je zou nodig hebben:
* Authenticatie Middleware: Om gebruikersreferenties te verifiëren en een sessie of token te genereren.
* Autorisatie Middleware: Om te bepalen welke bronnen een gebruiker toegang heeft op basis van zijn rol.
* Foutafhandeling Middleware: Om potentiële fouten te verwerken tijdens authenticatie of autorisatie.
Door strategisch te gebruiken, kunt u de beveiliging, prestaties en onderhoudbaarheid van uw webtoepassing verbeteren. |