Το Middleware στην ανάπτυξη λογισμικού, ειδικά στις εφαρμογές ιστού, λειτουργεί ως γέφυρα μεταξύ της βασικής λογικής της εφαρμογής σας και του εξωτερικού κόσμου. Είναι υπεύθυνο για το χειρισμό εργασιών όπως:
* έλεγχος ταυτότητας: Έλεγχος των διαπιστευτηρίων χρήστη και χορήγηση πρόσβασης.
* εξουσιοδότηση: Προσδιορισμός των πόρων που μπορεί να έχει πρόσβαση ένας χρήστης.
* Καταγραφή: Εγγραφή συμβάντων και αιτήσεις για εντοπισμό σφαλμάτων και παρακολούθησης.
* Χειρισμός σφαλμάτων: Να πιάσει εξαιρέσεις και να παρέχει χαριτωμένες απαντήσεις.
* Επικύρωση αίτησης: Η διασφάλιση ότι τα δεδομένα που αποστέλλονται από τον πελάτη είναι έγκυρα.
* Περιορισμός ρυθμού: Αποτρέποντας υπερβολικά αιτήματα από έναν μόνο χρήστη ή διεύθυνση IP.
* Προσωρινή αποθήκευση: Αποθήκευση συχνά προσπελάσιμων δεδομένων για τη βελτίωση της απόδοσης.
* CORS (ανταλλαγή πόρων cross-origin): Επιτρέποντας τα αιτήματα cross-origin για ασφάλεια.
Ακολουθεί μια κατανομή ορισμένων κοινών τύπων middleware:
1. Με βάση το σκοπό:
* Middleware ταυτότητας: Επαληθεύει την ταυτότητα του χρήστη και την πρόσβαση επιχορηγήσεων βάσει διαπιστευτηρίων.
* Παράδειγμα: Ο έλεγχος ταυτότητας JWT (JSON Web Token), ο έλεγχος ταυτότητας OAuth2.
* εξουσιοδότηση middleware: Καθορίζει τα προνόμια του χρήστη και επιτρέπει την πρόσβαση σε συγκεκριμένους πόρους.
* Παράδειγμα: Έλεγχος πρόσβασης βάσει ρόλων (RBAC), έλεγχος πρόσβασης βάσει πόρων (RBAC).
* Middleware καταγραφής: Καταγράφει συμβάντα και αιτήματα για εντοπισμό σφαλμάτων και παρακολούθησης.
* Παράδειγμα: Winston, Pino, Morgan.
* Χειρισμός σφαλμάτων Middleware: Πιάζει εξαιρέσεις και χειρίζεται σφάλματα χαριτωμένα.
* Παράδειγμα: Ο ενσωματωμένος χειρισμός σφαλμάτων της Express, οι χειριστές σφαλμάτων προσαρμοσμένου.
* Αίτηση επικύρωσης Middleware: Επικυρώνει τα δεδομένα που αποστέλλονται από τον πελάτη για να εξασφαλίσουν την ορθότητα του.
* Παράδειγμα: Joi, Express-Validator.
* Περιορισμός ποσοστού middleware: Περιορίζει τον αριθμό των αιτημάτων που μπορεί να κάνει ένας χρήστης ή διεύθυνση IP μέσα σε ένα δεδομένο χρονικό πλαίσιο.
* Παράδειγμα: Οριοθετημένο όριο επιτοκίου, περιορισμοί ρυθμού Redis.
* middleware caching: Τα καταστήματα συχνά έχουν πρόσβαση σε δεδομένα για ταχύτερη ανάκτηση.
* Παράδειγμα: Redis, memcached.
* Cors Middleware: Επιτρέπει τα αιτήματα Cross-Origin κατά την επιβολή της ασφάλειας.
* Παράδειγμα: CORS, express-cors.
* Middleware του σώματος: Αναλύει τους εισερχόμενους φορείς αιτήματος σε χρήσιμες δομές δεδομένων.
* Παράδειγμα: Body-Parser, Multer.
2. Με βάση την εκτέλεση:
* middleware πριν από την επεξεργασία: Εκτελεί πριν από το αίτημα φτάσει στο χειριστή διαδρομής.
* Παράδειγμα: Εξουσιοδότηση, εξουσιοδότηση, καταγραφή, επικύρωση αίτησης.
* Middleware μετά την επεξεργασία: Εκτελείται αφού ο διαχειριστής διαδρομής έχει επεξεργαστεί το αίτημα.
* Παράδειγμα: Χειρισμός σφαλμάτων, προσωρινή αποθήκευση, καταγραφή (για απαντήσεις).
3. Με βάση την εφαρμογή:
* Ενσωματωμένο middleware: Middleware που παρέχεται από το ίδιο το πλαίσιο.
* Παράδειγμα: Η ενσωματωμένη διαχείριση σφαλμάτων της Express, το Middleware, το Body-Parser.
* Custom Middleware: Middleware που αναπτύχθηκε από τον προγραμματιστή για να χειριστεί συγκεκριμένες ανάγκες.
* Παράδειγμα: Middleware για την εφαρμογή μιας προσαρμοσμένης στρατηγικής ελέγχου ταυτότητας.
* Middleware τρίτου μέρους: Middleware που παρέχεται από εξωτερικές βιβλιοθήκες.
* Παράδειγμα: Middleware ελέγχου ταυτότητας JWT, Περιορισμός του μέσου λογισμικού.
Επιλέγοντας το σωστό middleware:
Ο τύπος του middleware που χρειάζεστε θα εξαρτηθεί από τις συγκεκριμένες απαιτήσεις της εφαρμογής σας. Εξετάστε τις ανάγκες σας για ασφάλεια, απόδοση, καταγραφή και χειρισμό σφαλμάτων.
Παράδειγμα:
Φανταστείτε ότι δημιουργείτε μια εφαρμογή ιστού με έλεγχο ταυτότητας χρήστη. Θα χρειαστείτε:
* Middleware ταυτότητας: Για να επαληθεύσετε τα διαπιστευτήρια του χρήστη και να δημιουργήσετε μια συνεδρία ή ένα διακριτικό.
* εξουσιοδότηση middleware: Για να καθορίσει ποιοι πόροι μπορεί να έχει πρόσβαση ένας χρήστης με βάση το ρόλο του.
* Χειρισμός σφαλμάτων Middleware: Για να χειριστείτε πιθανά σφάλματα κατά τη διάρκεια της ταυτότητας ή της εξουσιοδότησης.
Χρησιμοποιώντας στρατηγικά το middleware, μπορείτε να βελτιώσετε την ασφάλεια, την απόδοση και τη διατήρηση της εφαρμογής σας στο διαδίκτυο.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα