GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was sind zustandslose und zustandsbehaftete Modelle der Webentwicklung?

Zielgruppe

Entwickler, die neu in der Website-Programmierung sind oder die vielleicht einen Überblick über zustandslose und zustandsbehaftete Modelle des Website-Designs erhalten möchten.

Einführung

Die zustandsbehafteten und zustandslosen Modelle des Verhaltens von Softwareanwendungen definieren, wie der Webbrowser eines Benutzers mit einem Webserver kommuniziert. In den Anfangsjahren des Webs waren Websites in der Regel zustandslos. Die Seiten waren statisch und variierten nicht von Benutzer zu Benutzer. Später enthielten Websites das Stateful-Modell, das Seiten mit Informationen lieferte, die für jeden Benutzer einzigartig sind. Zustandsbehaftete Webanwendungen sind für den modernen E-Commerce wie Online-Händler und Banken unerlässlich, erfordern jedoch eine ausgefeilte Programmierung, um effektiv zu funktionieren.
.

Zustandsloses Modell

In der reinen Form des zustandslosen Modells stellt ein Client-Programm eine Anfrage an einen Anwendungsserver, der Daten an den Client zurücksendet. Der Server behandelt alle Client-Verbindungen gleich und speichert keine Informationen aus früheren Anfragen oder Sitzungen. Eine Website, die eine einfache statische Webseite anbietet, ist ein gutes Beispiel für das zustandslose Modell. Der Server empfängt Anfragen für Seiten, die er hostet, und sendet die Seitendaten an anfragende Browser, ähnlich wie ein Schnellkoch, der Mahlzeiten für Gäste zubereitet.
.

Zustandsbehaftetes Modell

Wenn eine Anwendung in einem zustandsbehafteten Modus arbeitet, verfolgt der Server von einem Bildschirm zum nächsten, wer Benutzer sind und was sie tun. Die Beibehaltung des Status der Benutzeraktionen ist von grundlegender Bedeutung für eine sinnvolle, kontinuierliche Sitzung. Es beginnt normalerweise mit einer Anmeldung mit Benutzer-ID und Passwort, wodurch ein Anfangsstatus für die Sitzung festgelegt wird. Wenn ein Benutzer durch die Site navigiert, kann sich der Zustand ändern. Der Server behält den Status der Benutzerinformationen während der gesamten Sitzung bei, bis er sich abmeldet.
.

Staaten staatenlos machen

Viele Websites generieren Seiten dynamisch und verlassen sich weniger auf statische HTML-Dateien. Der Browser des Benutzers empfängt Seitendaten von einem Webserver und rendert sie wie eine statische Seite. Darüber hinaus ermöglichen dynamische Seiten dem Server, sich an den Benutzer zu „erinnern“ und eine Kontinuität von Seite zu Seite zu schaffen. Damit die Kontinuität funktioniert, kann ein Entwickler eine Reihe von Tricks anwenden, indem er dem zustandslosen Modell zustandsbehaftete Funktionen hinzufügt. Wenn sich ein Benutzer beispielsweise auf der Website einer Bank anmeldet, erstellt der Server Informationen über diese Sitzung. Die Informationen können sich im Speicher des Servers befinden, aber auch im Browser gespeichert werden. Der Server verfolgt Ihre Sitzung, indem er eindeutige Informationen über die Sitzung aufzeichnet, wie z. B. die IP-Adresse eines Benutzers. Darüber hinaus kann der Entwickler zusätzliche serverseitige Variablen erstellen, die von den Programmen auf dem Server verwendet werden. Diese Variablen bleiben intakt, solange eine Sitzung aktiv ist, und verschwinden beim Abmelden oder Ablauf der Sitzung.
.

Browserseitige Daten

Es gibt einige verschiedene Optionen, um Sitzungsdaten im Browser zu speichern. Eines davon ist das Cookie , eine spezielle Art von Browser-Token. Ein Webserver kann ein Cookie erstellen und im Browser des Benutzers speichern, damit er es während der Sitzung abfragen kann. Ein Browser speichert diese Cookies und gibt sie auf Serveranfrage zurück. Cookies können optional mit der Sitzung ablaufen oder fast dauerhaft bestehen bleiben. Wenn sie jedoch bestehen bleiben, können die Daten von jeder Website gelesen werden, wodurch möglicherweise Informationen preisgegeben werden, die der Benutzer sonst möglicherweise nicht teilt. Die wahllose und unbefugte Datenerhebung vieler Unternehmen durch die Verwendung von Cookies hat bei vielen Internetnutzern zu einem Gefühl des Misstrauens geführt. Viele Benutzer wiederum haben darauf reagiert, indem sie ihre Browser so eingestellt haben, dass Cookies blockiert werden, wodurch Cookies für legitime Zwecke weniger verfügbar sind.

Zusätzlich zu Cookies können Sie Sitzungsdaten an einen Server übermitteln, indem Sie Variablen in die URL einfügen, die durch ein Fragezeichen gekennzeichnet sind, wie in diesem Beispiel:

http://mysite.net/anypage.php?userID=54321&orderID=51926

Beachten Sie, dass die allererste Variable mit einem Fragezeichen gekennzeichnet ist und nachfolgende Variablen ein kaufmännisches Und verwenden.

Viele Sites verwenden URLs, um Daten vom Client zum Server zu übertragen. Ein Nachteil ist, dass die URL-Daten für jeden sichtbar sind. In einigen Fällen ist es möglich, URL-Daten auszunutzen, um nicht autorisierte Informationen zu erhalten oder die Sicherheit einer Website anderweitig zu untergraben. Außerdem kann ein Hacker, der Ihren Internetverkehr überwacht, URL-Daten leicht abfangen. Sie können URL-Daten jedoch verschleiern, indem Sie sie in verschlüsselter oder gehashter Form weitergeben, um ihre Sicherheit zu verbessern.
.

Serverlast

Beim Ausführen von Websites, die den zustandslosen Modus verwenden, hat ein Cloud-Server eine relativ einfache Aufgabe, indem er Seiten bereitstellt, ohne dass die Daten des Benutzers gespeichert werden müssen. Eine zustandsbehaftete Site hat zusätzlichen Arbeitsspeicher für jeden Benutzer, der benötigt wird, um grundlegende Sitzungsdaten sowie Benutzerantworten und andere von der Anwendung benötigte Daten zu speichern. Bei Sites, die Tausende von gleichzeitigen Sitzungen verarbeiten, summieren sich die zusätzlichen Speicheranforderungen. Eine zustandslose Site, die sich hauptsächlich auf statische Seiten stützt, schont auch die CPU des Servers. Im Gegensatz dazu hängt eine zustandsbehaftete Website stärker von dynamischen, programmgenerierten Inhalten ab und erfordert viel mehr CPU-Leistung pro Sitzung. Ein versiertes Betriebspersonal überwacht den Serverspeicher und die CPU-Leistungsdaten genau und sucht nach Engpässen, die die Reaktionsfähigkeit einer Website beeinträchtigen können.
.

Schlussfolgerung

Im modernen Internet ist eine vollständig zustandslose Website von begrenztem Nutzen, da immer mehr Inhalte darauf angewiesen sind, Daten aus der Sitzung eines Besuchers mit dieser Website zu verfolgen. Um dynamische Websites zu erstellen, die ihre Kunden „kennen“, muss ein Webentwickler die Unterschiede zwischen zustandsbehafteten und zustandslosen Modi sowie die Vor- und Nachteile jedes Ansatzes in Bezug auf die jeweilige Seite oder das Seitenelement berücksichtigen.

Atlantic.net bietet VPS-Hosting sowie Managed-Hosting-Dienste an, die eine Schicht von geschäftsessenziellen Managed Services für Ihre Hosting-Pakete beinhalten. Kontaktieren Sie uns noch heute für weitere Informationen.

Erfahren Sie mehr über unsere VPS-Hosting-Services und Virtual Private Server.

.
.


Linux
  1. Was ist ein Webserver und wie funktioniert ein Webserver?

  2. Dezentralisierte Web- und P2P-Netzwerke erklärt

  3. Nuclid – Eine offene IDE für Mobil- und Webentwicklung

  4. Was können Sie mit einem VPS und einem Cloud-Server machen?

  5. Häufig gestellte Fragen zu Systemfestplatten und Datenfestplatten

So installieren Sie den OpenLiteSpeed-Webserver mit MariaDB und PHP

Installieren Sie MySQL auf Windows Server 2008 R2 und 2012

Entdecken Sie CyberPanel und installieren Sie es, um Ihren Webhost zu steuern

Webentwicklung und fortgeschrittene Techniken mit Linux unter Windows (WSL)

Webhosting-Grundlagen und Auswahl eines Anbieters

Was ist der Unterschied zwischen DMA und Memory-Mapped IO?