Middleware ist Software, die zwischen der eingehenden Anfrage und der eigentlichen Anwendung sitzt. In Web-Frameworks ist sie eine Kette kleiner Bausteine, durch die jede Anfrage läuft, bevor sie den Code erreicht, der sie beantwortet.
- Middleware
Ein Baustein, der Anfragen auf dem Weg zur Anwendung prüft, ergänzt oder abweist und Antworten auf dem Rückweg verändern kann.
Beispiel: „Eine Middleware prüft vor jeder Seite des Kundenbereichs, ob jemand angemeldet ist, und schickt alle anderen zum Login.“Der Begriff ist älter als das Web: Ursprünglich bezeichnete Middleware jede Software, die zwischen Betriebssystem und Anwendung vermittelt, etwa Nachrichtensysteme in Unternehmen.
Wie Middleware im Web-Framework arbeitet
Wie ein Zwiebelmodell. Die Anfrage durchläuft die Schichten von außen nach innen, jede kann sie prüfen, um Angaben ergänzen oder mit einer eigenen Antwort abbrechen. Die Antwort läuft danach denselben Weg zurück.
In Laravel und Express.js wird Middleware einzelnen Routen oder ganzen Gruppen zugewiesen, etwa allen Adressen unter /api.
Wofür Middleware eingesetzt wird
Anmeldung und Rechte prüfen, Rate Limiting durchsetzen, Sprache erkennen, Weiterleitungen ausführen, Sicherheits-Header setzen, Anfragen protokollieren und Formulare gegen gefälschte Absendungen schützen.
Auf dieser Website läuft etwa eine eigene Middleware für die Weiterleitungen, die Redakteure im CMS pflegen.
Worauf du bei Middleware achten solltest
Auf die Reihenfolge. Eine Middleware, die Rechte prüft, muss nach der laufen, die den Nutzer anmeldet. Eine falsch einsortierte Middleware ist ein typischer Grund für Fehler, die nur in bestimmten Fällen auftreten.
Und auf das Gewicht: Was in einer Middleware steckt, läuft bei jeder Anfrage. Aufwendige Arbeit gehört dort nicht hinein.