Zum Inhalt springen

Glossar · R

Route

Zuordnung einer URL plus HTTP-Methode zu einem Stück Code. Controller, Closure oder Resource.

Definition

Eine Route ist in der Webentwicklung die Zuordnung einer URL und einer HTTP-Methode zu einem bestimmten Stück Code, das ausgeführt wird, wenn diese URL aufgerufen wird. Routen sind ein zentrales Konzept in vielen Webframeworks und dienen dazu, Anfragen von Clients an die entsprechenden Funktionen oder Controller innerhalb einer Anwendung weiterzuleiten.

In der Regel werden Routen in einer Routing-Datei definiert, in der die URL-Pfade, die unterstützten HTTP-Methoden (wie GET, POST, PUT, DELETE) und die zugehörigen Callback-Funktionen oder Controller angegeben werden. Dies ermöglicht eine klare Strukturierung der Anwendungslogik und eine einfache Verwaltung der verschiedenen Endpunkte.

Was bedeutet das für Ihr Unternehmen?

Routen bestimmen, welche Adressen Ihre Website oder Anwendung kennt und was unter ihnen passiert. Für Sie werden sie vor allem bei Relaunches und Umbauten relevant: Ändern sich Adressen, müssen die alten per Weiterleitung auf die neuen zeigen, sonst entstehen Fehlerseiten und Suchmaschinen-Rankings gehen verloren. Bei Anwendungen mit Kundenbereich gehört zur Prüfung auch, dass jede Route nur für angemeldete und berechtigte Nutzer erreichbar ist.

Hintergrund

Das Konzept der Routen stammt ursprünglich aus der serverseitigen Programmierung, wo es notwendig war, Anfragen von Clients (z.B. Webbrowser) an die richtigen Ressourcen auf dem Server zu leiten. Mit dem Aufkommen von modernen Webframeworks wie Ruby on Rails, Laravel oder Express.js wurde das Routing weiter verfeinert und standardisiert.

Die Verwendung von Routen ermöglicht es Entwicklern, RESTful APIs zu erstellen, bei denen jede Route einer bestimmten Ressource oder Aktion zugeordnet ist. Dies fördert die Trennung von Anliegen und macht den Code wartbarer und verständlicher.

Funktionsweise

Bei einer Anfrage an einen Webserver wird die angeforderte URL analysiert und mit den definierten Routen verglichen. Wenn eine Übereinstimmung gefunden wird, wird die zugehörige Funktion oder der Controller aufgerufen, um die Anfrage zu verarbeiten. Dies kann das Abrufen von Daten aus einer Datenbank, das Rendern von HTML-Seiten oder das Zurückgeben von JSON-Daten umfassen.

Ein Beispiel für eine Route könnte die URL '/users' mit der HTTP-Methode GET sein, die an eine Funktion gebunden ist, die eine Liste von Benutzern zurückgibt. Bei einer POST-Anfrage an dieselbe URL könnte eine andere Funktion aufgerufen werden, die einen neuen Benutzer erstellt.

Einsatzgebiete

Routen werden in einer Vielzahl von Webanwendungen eingesetzt, von einfachen Websites bis hin zu komplexen Webanwendungen und APIs. Sie sind besonders wichtig in der Entwicklung von Single-Page-Applications (SPAs), wo das Routing auch im Client durchgeführt wird, um verschiedene Ansichten ohne vollständige Seitenaktualisierungen anzuzeigen.

Darüber hinaus sind Routen auch in der Entwicklung von Microservices von Bedeutung, wo sie dazu dienen, Anfragen zwischen verschiedenen Diensten zu verteilen. Hierbei kann ein API-Gateway als zentraler Punkt fungieren, der die Anfragen an die entsprechenden Microservices weiterleitet.

Abgrenzung

Routen sollten nicht mit Middleware verwechselt werden, die zusätzliche Funktionen wie Authentifizierung oder Logging zwischen der Anfrage und der Verarbeitung durch die Route einfügt. Middleware kann in der Regel in Verbindung mit Routen verwendet werden, um zusätzliche Sicherheits- oder Funktionalitätsaspekte zu berücksichtigen.

Ein weiterer verwandter Begriff ist das Routing-Protokoll, das in Netzwerken verwendet wird, um Datenpakete zwischen verschiedenen Netzwerken zu leiten. Während Web-Routing sich auf die Zuordnung von URLs zu Code in Webanwendungen konzentriert, bezieht sich Netzwerk-Routing auf die Weiterleitung von Daten auf der Basis von IP-Adressen.

Verwandte Begriffe

Aus dem Blog

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zur Leistung: Individuelle Software