Die Grundlagen von Web-Anwendungen

In der Komplexität der Technologie des Webs verliert man sich leicht. Bild: CCO Public Domain via Pixabay.
Im Prinzip gar nicht so komplex: die Technologie des Webs. Bild: CCO Public Domain via Pixabay.

Zur Technik des Social Webs, Teil 1

Wir starten mit diesem Post eine kleine Einführung in die Technologie des Webs. Bevor wir aber tiefer einsteigen, wollen wir vorab ein paar grundlegende Konzepte erklären.

World Wide Web ist nicht gleich Internet

Oft wird das WWW – oder kurz: das Web – als Synonym für das Internet benutzt und umgekehrt. Dabei ist das WWW zwar sicherlich der bekannteste Dienst des Internets, aber eben nicht der einzige. Es nutzen auch E-Mail, WhatsApp und World of Warcraft das Internet als Basis, ohne Teil des WWW zu sein.

Das WWW beruht auf drei Basisstandards:

  • Über die URL, die Sie in einen Browser eingeben oder die Sie über einen Link ansprechen, adressieren Sie eindeutig eine bestimmte Website. So rufen Sie zum Beispiel mit der URL »http://www.ccc.de« die Homepage des Chaos Computer Clubs auf.
  • Anhand des HTTP-Protokolls werden die Webseiten und andere Daten wie Fotos, Grafiken, Töne und Videos dann aus dem World Wide Web zu Ihrem Rechner übertragen und im Webbrowser geladen.
  • Damit das WWW für alle Computertypen und -plattformen verständlich ist, besteht es aus einer Art Beschreibungssprache, nämlich HTML (Hypertext Markup Language), die der Browser übersetzt und darstellt. Über HTML können die einzelnen Seiten mit Verweisen, den Links, verbunden werden. Es entsteht ein sogenannter Hypertext, in dem man ohne großen Aufwand von Website zu Website springen und die Informationen und Anwendungen, die das WWW bietet, erkunden kann.

Später wurden diese Konzepte durch weitere Standards (JavaScript, CSS oder HTTPS) angereichert, um dem Wunsch vieler Entwickler nach mehr Dynamik und Sicherheit für die jeweiligen Websites nachzukommen. Aber im Grunde funktioniert das Web in seinem Aufbau noch genauso wie zu seinen Anfängen.

Client/Server-Architektur

Alle in unserem Buch „Social Web“ genannten Applikationen und Techniken des Social Webs – also Blogs, Wikis etc. – »leben« im Netz, genau genommen im World Wide Web, und sind daher nach dem Client/Server-Prinzip aufgebaut.

Wenn Sie eine Webseite über den Browser aufrufen, arbeiten Sie auf einem Computer, der Client genannt wird. Er sendet über das Internet eine Anfrage an einen zweiten Computer, den Server, auf dem die Webseite gespeichert ist. Dort wird sie entgegengenommen und verarbeitet. Je nachdem, was angefordert wird, sendet der Server eine entsprechende Seite zurück an den Client. Das Ergebnis wird dort wieder im Browser angezeigt. Das war die Kurzform.

Aber was genau passiert eigentlich auf dem Server?

Wenn die Anfrage vom Webserver (z.B. Apache oder Internet Information Server) entgegengenommen wird, erkennt dieser anhand der Endung der angeforderten Dateien, ob diese direkt zurückgeschickt werden können, was bei einfachen HTML-Dateien der Fall ist (Endung ».html«), oder ob es sich um Programmierskripts mit Endungen wie ».php« oder ».py« (für PHP- bzw. Python-Dateien) handelt, die gesondert ausgeführt und dann erst verschickt werden müssen.

Die Ausführung wird von einem so genannten Interpreter vorgenommen. Dieser nimmt nun einige Prüfungen vor. Ist derjenige, der eine Anfrage stellt, angemeldet, und hat er die nötigen Rechte, die geforderte Seite zu sehen? Wenn das der Fall ist, wird die Seite aus den einzelnen Komponenten zusammengebaut.

Zunächst werden gegebenenfalls Inhalte aus der Datenbank (häufig MySQL) geholt und an der richtigen Stelle in die HTML-Vorlage, die als Datei vorliegt, eingebaut. Dann werden die Module aufgerufen, die zusätzliche Ausgaben produzieren. Das Skript platziert diese an den entsprechenden Positionen in der Vorlage. Ist die Seite aufgebaut, wird sie an den Webserver übergeben, der sie dann an den Client-Rechner verschickt.

Eine vereinfachte Darstellung der Client-Server-Architektur
Eine vereinfachte Darstellung der Client-Server-Architektur.

Der Server ist genau genommen ein Programm, zum Beispiel Apache HTTP Server oder der Microsoft Internet Information Server (IIS). Das bedeutet, dass der Webserver nicht unbedingt auf einem physikalisch getrennten anderen Rechner laufen muss, sondern auch auf dem gleichen Computer wie der Browser.

Dies ist dann der Fall, wenn Sie ein Wiki zu Testzwecken auf Ihrem PC installieren möchten. Dann müssen Sie die Serverumgebung auf Ihrem PC einrichten und greifen mit Ihrem Browser auf denselben Rechner zu.

Was passiert dann auf dem Client?

Der Client nimmt die Daten vom Server entgegen und kann sie entweder sofort im Browser anzeigen, wenn es sich um pures HTML handelt, oder er verarbeitet die Informationen auf dem Client, also Ihrem Rechner, weiter, falls noch clientseitige Skripts, wie zum Beispiel JavaScript-Code, enthalten sind. Diese werden eingesetzt, um den Server zu entlasten und um die Bedienung der Seite im Browser angenehmer zu machen.

Moderne Seiten machen weitreichenden Gebrauch von clientseitiger Programmierung, wobei die Programme zum Teil ausführliche Befugnisse haben. Bösartige Skripts können diese Möglichkeit dazu nutzen, Daten eines Nutzers auszuspähen oder dessen Berechtigungen zu übernehmen. Das Abschalten von JavaScript ist leider keine Alternative mehr, da moderne Webanwendungen ohne diese dynamischen Elemente nicht funktionieren. Die Sicherheit wird vielmehr durch schnelle Updates der Software und die browserseitige Beschränkung des Zugriffs auf fremde Daten hergestellt.

Im zweiten Teil unserer Beitragsreihe geht es um Benutzerfreundlichkeit: hier spielt Ajax eine wichtige Rolle.

Social Web CoverAuszug aus:
Anja Ebersbach, Markus Glaser, Richard Heigl:
Social Web,
3. überarbeitete Auflage,
UVK 2016.

Dies könnte Ihnen auch gefallen

Schreiben Sie einen Kommentar