In der Computerwelt bezieht sich das “Backend” auf jeden Teil einer Website oder eines Softwareprogramms, den die Benutzer nicht sehen. Es steht im Gegensatz zum Frontend, das sich auf die Benutzeroberfläche eines Programms oder einer Website bezieht. In der Programmierungsterminologie ist das Backend die “Datenzugriffsschicht”, während das Frontend die “Präsentationsschicht” ist.
Die meisten modernen Websites sind dynamisch, d. h. der Inhalt der Webseite wird on-the-fly generiert. Eine dynamische Seite enthält ein oder mehrere Skripte, die bei jedem Zugriff auf die Seite auf dem Webserver ausgeführt werden. Diese Skripte erzeugen den Inhalt der Seite, der an den Webbrowser des Benutzers gesendet wird. Alles, was passiert, bevor die Seite in einem Webbrowser angezeigt wird, ist Teil des Backends.
Beispiele für Backend-Prozesse sind:
die Verarbeitung einer eingehenden Webseiten-Anfrage
Ausführen eines Skripts (PHP, ASP, JSP, etc.) zur Erzeugung von HTML
Zugriff auf Daten, wie z. B. einen Artikel, aus einer Datenbank mit Hilfe einer SQL-Abfrage
Speichern oder Aktualisieren von Datensätzen in einer Datenbank
Verschlüsseln und Entschlüsseln von Daten
Verarbeitung von Dateiuploads und -downloads
Verarbeitung von Benutzereingaben über JavaScript
Alle obigen Beispiele, außer dem letzten, sind serverseitige Prozesse, die auf dem Webserver laufen. JavaScript ist ein clientseitiger Prozess, d. h. er wird im Webbrowser ausgeführt. JavaScript kann als Backend- oder als Frontend-Prozess betrachtet werden, je nachdem, ob der Code die Benutzeroberfläche beeinflusst oder nicht.
Das Backend und das Frontend arbeiten zusammen, um das vollständige Benutzererlebnis zu schaffen. Die im Backend generierten Daten werden an das Frontend weitergegeben und dem Benutzer präsentiert. Während einige Unternehmen getrennte Backend- und Frontend-Entwicklungsteams haben, ist die Linie zwischen den beiden Schichten selten schwarz und weiß. Daher schreiben viele Entwickler Code sowohl für das Backend als auch für das Frontend. Dies wird als Full-Stack-Entwicklung bezeichnet.