typer av mellanprogram
Middleware i mjukvaruutveckling, speciellt i webbapplikationer, fungerar som en bro mellan din applikations kärnlogik och den yttre världen. Det ansvarar för att hantera uppgifter som:
* autentisering: Kontrollera användaruppgifter och bevilja åtkomst.
* auktorisation: Bestämma vilka resurser en användare kan komma åt.
* loggning: Inspelning av händelser och förfrågningar om felsökning och övervakning.
* Felhantering: Fånga undantag och ge graciösa svar.
* Begär validering: Att säkerställa data som skickas av klienten är giltiga.
* Ratsbegränsning: Förhindrar överdrivna förfrågningar från en enda användare eller IP -adress.
* caching: Lagring ofta åtkomst till data för att förbättra prestandan.
* Cors (Cross-Oigin Resource Sharing): Aktivera Cross-Oigin-förfrågningar om säkerhet.
Här är en uppdelning av några vanliga typer av mellanprogram:
1. Baserat på syfte:
* Autentiseringsmidemedel: Verifierar användaridentitet och ger åtkomst baserat på referenser.
* Exempel: JWT (JSON Web Token) Autentisering, OAUTH2 -autentisering.
* Autorisation Middleware: Bestämmer användarens privilegier och ger tillgång till specifika resurser.
* Exempel: Rollbaserad åtkomstkontroll (RBAC), resursbaserad åtkomstkontroll (RBAC).
* loggning av mellanprogram: Registrerar händelser och förfrågningar om felsökning och övervakning.
* Exempel: Winston, Pino, Morgan.
* Felhantering Middleware: Fångar undantag och hanterar fel graciöst.
* Exempel: Express's inbyggda felhanterare, anpassade felhanterare.
* Begär validering Middleware: Validerar data som skickas av klienten för att säkerställa dess korrekthet.
* Exempel: Joi, Express-Validator.
* Rate Begränsande mellanprogram: Begränsar antalet förfrågningar som en användare eller IP -adress kan göra inom en given tidsram.
* Exempel: Expressräntabegränsning, Redis-baserade räntebegränsare.
* caching middleware: Butiker har ofta åtkomst till data för snabbare hämtning.
* Exempel: Redis, memcached.
* Cors Middleware: Tillåter cross-origin-förfrågningar samtidigt som säkerheten upprätthålls.
* Exempel: Cors, Express-Cors.
* Body Parsing Middleware: Anspar inkommande begärande organ i användbara datastrukturer.
* Exempel: Body-Parser, Multer.
2. Baserat på exekvering:
* förbehandlingsmellanprogram: Körs innan begäran når ruttenhanteraren.
* Exempel: Autentisering, auktorisation, loggning, begär validering.
* efterbehandling av mellanprogram: Utför efter att rutthanteraren har behandlat begäran.
* Exempel: Felhantering, cachning, loggning (för svar).
3. Baserat på implementering:
* inbyggd mellanprogram: Mellanprogram som tillhandahålls av själva ramverket.
* Exempel: Express's inbyggda felhantering mellanprogram, kroppsbramare.
* Anpassad mellanprogram: Middleware utvecklats av utvecklaren för att hantera specifika behov.
* Exempel: Middleware för implementering av en anpassad autentiseringsstrategi.
* Tredjeparts mellanprogram: Middleware tillhandahålls av externa bibliotek.
* Exempel: JWT Authentication Middleware, Rate Limiting Middleware.
Att välja rätt mellanprogram:
Den typ av mellanprogram du behöver beror på de specifika kraven i din applikation. Tänk på dina behov för säkerhet, prestanda, avverkning och felhantering.
Exempel:
Föreställ dig att du bygger en webbapplikation med användarverifiering. Du skulle behöva:
* Autentiseringsmidemedel: För att verifiera användaruppgifter och generera en session eller token.
* Autorisation Middleware: För att avgöra vilka resurser en användare kan komma åt baserat på sin roll.
* Felhantering Middleware: Att hantera potentiella fel under autentisering eller auktorisation.
Genom att strategiskt använda mellanprogram kan du förbättra säkerheten, prestandan och underhållbarheten för din webbapplikation.