Typer mellomvare
Middelsvare i programvareutvikling, spesielt i webapplikasjoner, fungerer som en bro mellom applikasjonens kjernelogikk og den ytre verden. Det er ansvarlig for å håndtere oppgaver som:
* Autentisering: Kontrollere brukeropplysning og gi tilgang.
* Autorisasjon: Bestemme hvilke ressurser en bruker kan få tilgang til.
* Logging: Innspilling av hendelser og forespørsler om feilsøking og overvåking.
* Feilhåndtering: Fange unntak og gi grasiøse svar.
* Request Validation: Å sikre at data sendt av klienten er gyldige.
* Rate Begrensning: Forhindrer overdreven forespørsler fra en enkelt bruker eller IP -adresse.
* caching: Lagring av ofte tilgang til data for å forbedre ytelsen.
* CORS (Cross-Origin Resource Sharing): Aktiverer forespørsler om sikkerhet for sikkerhet.
Her er en oversikt over noen vanlige typer mellomvare:
1. Basert på formål:
* Autentisering mellomvare: Verifiserer brukeridentitet og gir tilgang basert på legitimasjon.
* eksempel: JWT (JSON Web Token) autentisering, OAUTH2 -godkjenning.
* Autorisasjon mellomvare: Bestemmer brukerens privilegier og gir tilgang til spesifikke ressurser.
* eksempel: Rollbasert tilgangskontroll (RBAC), ressursbasert tilgangskontroll (RBAC).
* Logging mellomvare: Registrerer hendelser og forespørsler om feilsøking og overvåking.
* eksempel: Winston, Pino, Morgan.
* Feilhåndtering mellomvare: Fanger unntak og håndterer feil grasiøst.
* eksempel: Express innebygde feilbehandler, tilpassede feilbehandlere.
* Request Validation Middleware: Validerer data sendt av klienten for å sikre dens korrekthet.
* eksempel: JOI, Express-Validator.
* hastighetsbegrensende mellomvare: Begrenser antall forespørsler en bruker eller IP -adresse kan komme med innen en gitt tidsramme.
* eksempel: Express Rate Limit, Redis-baserte rate-begrensninger.
* Caching Middleware: Butikker har ofte tilgang til data for raskere gjenfinning.
* eksempel: Redis, memcached.
* Cors mellomvare: Tillater forespørsler om origin mens du håndhever sikkerhet.
* eksempel: Cors, Express-Cors.
* Body Parsing Middleware: Analyserer innkommende forespørselsorganer til brukbare datastrukturer.
* eksempel: Kropps-parser, multer.
2. Basert på utførelse:
* pre-prosessering mellomvare: Utfør før forespørselen når rutebehandleren.
* eksempel: Autentisering, autorisasjon, logging, forespørselsvalidering.
* Post-Processing Middleware: Utfør etter at rutebehandleren har behandlet forespørselen.
* eksempel: Feilhåndtering, hurtigbufring, logging (for svar).
3. Basert på implementering:
* Innebygd mellomvare: Mellomvare levert av selve rammen.
* eksempel: Express's innebygde feilhåndtering av mellomvare, kroppsparser.
* Tilpasset mellomvare: Middelsvare utviklet av utvikleren for å håndtere spesifikke behov.
* eksempel: Middelsvare for implementering av en tilpasset autentiseringsstrategi.
* Tredjeparts mellomvare: Middelsvare levert av eksterne biblioteker.
* eksempel: JWT -autentisering mellomvare, vurdering av mellomvare.
Velge riktig mellomvare:
Hvilken type mellomvare du trenger vil avhenge av de spesifikke kravene i applikasjonen din. Tenk på dine behov for sikkerhet, ytelse, logging og feilhåndtering.
Eksempel:
Se for deg at du bygger en webapplikasjon med brukerautentisering. Du trenger:
* Autentisering mellomvare: For å bekrefte brukeropplysning og generere en økt eller token.
* Autorisasjon mellomvare: For å bestemme hvilke ressurser en bruker kan få tilgang til basert på deres rolle.
* Feilhåndtering mellomvare: For å håndtere potensielle feil under autentisering eller autorisasjon.
Ved å strategisk bruke mellomvare, kan du forbedre sikkerheten, ytelsen og vedlikeholdbarheten til webapplikasjonen din.