Grundlagen von HTTP, Web-Architektur und Java EE

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 54,25 KB

Einführung in das HTTP-Protokoll

Das HTTP (Hypertext Transfer Protocol) ist ein Protokoll zum Übertragen von Daten von einem Server an einen Client, ähnlich wie SMTP oder FTP. Im Gegensatz zu vielen anderen Protokollen, die mehrere Anfragen pro Verbindung unterstützen, ist HTTP darauf ausgelegt, für jede Datei eine Verbindung aufzubauen und diese nach der Übertragung wieder zu trennen.

HTML ermöglicht zudem die Integration von Bildern und Multimedia-Objekten, die auf dem Webserver gespeichert sind und über HTTP übertragen werden.

Der Webbrowser sendet eine Anfrage an den Server, welcher die angeforderte Datei bestimmt und als Antwort zurückgibt. Der Browser interpretiert diese Antwort und stellt den Inhalt dar. Die Antwort enthält sowohl die angeforderte Ressource als auch Metadaten. Während die Anfrage meist schlicht ist, kann die Antwort Text oder Binärdaten (z. B. Bilder) enthalten.

Bild

Struktur einer Website

Eine Website ist eine Sammlung von HTML-Seiten und Mediendateien, die auf einem Server gespeichert sind. Diese Dateien können in einer komplexen Verzeichnishierarchie organisiert sein.

Java Platform, Enterprise Edition (Java EE)

Java EE (ehemals J2EE) ist eine Software-Plattform zur Entwicklung und zum Betrieb von verteilten, serverbasierten Anwendungen in Java. Sie basiert auf modularen Softwarekomponenten und ist durch eine Spezifikation definiert.

Java EE 5

Java EE 5 bietet eine Plattform für n-tier-Architekturen, die auf modularen Komponenten basiert und durch klare Spezifikationen standardisiert ist.

Websites und Webanwendungen

Eine Website besteht primär aus statischen Dateien. Eine Webanwendung hingegen bietet dynamische Funktionen auf dem Server. Der Ablauf ist typischerweise:

  • Der Browser fordert ein Formular an.
  • Der Server sendet das HTML-Formular.
  • Der Browser sendet die ausgefüllten Daten zurück.
  • Der Server verarbeitet die Daten und sendet eine Antwort.

CGI-Programmierung

Das Common Gateway Interface (CGI) ermöglicht es, Programme auf einem Webserver auszuführen. Wenn eine Website CGI-Verfahren nutzt, spricht man von einer Web-Applikation.

Vorteile von CGI

  • Sprachunabhängigkeit (z. B. Perl).
  • Kein Systemausfall bei Fehlern im CGI-Programm.
  • Einfache Referenzierung für Web-Designer.

Nachteile von CGI

  • Hohe Antwortzeiten durch Shell-Aufrufe.
  • Sicherheitsprobleme und fehlende Objektorientierung.
  • Vermischung von Business-Logik und HTML-Präsentation.

Java Servlets

Servlets sind der Fortschritt gegenüber CGI. Sie sind Java-Programme, die auf dem Server ausgeführt werden. Sie erkennen HTTP-Anfragen, generieren dynamische Antworten (z. B. durch Datenbankabfragen) und senden HTML-Dokumente zurück.

Vorteile von Servlets

  • Multithreading-Verarbeitung (schneller als CGI).
  • Robust und objektorientiert.
  • Plattformunabhängig durch Java.

3-Tier-Architektur

Die 3-Tier-Architektur besteht aus:

  1. Benutzeroberfläche (Client).
  2. Geschäftslogik (Server).
  3. Datenbank (Datenspeicherung).

Arten von visuellen Komponenten

  • Präsentation von Daten: Grafiken, Tabellen, Listen.
  • Data Forms: Eingabeformulare.
  • Navigationshilfen: Menüs, Hyperlinks, Lagepläne.
  • Anzeigetafeln: Fehlermeldungen, Hilfe-Bildschirme.

HTTP-Methoden und Architektur

Bild

Wichtige HTTP-Methoden

  • GET: Abrufen von Ressourcen.
  • POST: Übermitteln von Daten an den Server.
  • HEAD: Wie GET, aber nur Header-Informationen.
  • PUT: Speichern von Daten auf dem Server.
  • DELETE: Löschen einer Ressource.

Web-Container-Architektur

Ein Web-Container ist die Umgebung, in der Servlets ausgeführt werden. Er verarbeitet HTTP-Anfragen und ruft die entsprechende Service-Methode in einem separaten Thread auf.

Bild

URL-Protokolle

  • http/https: Webseiten-Übertragung (https mit Verschlüsselung).
  • ftp: Dateiübertragung.
  • mailto: E-Mail-Versand.
  • news: Zugriff auf Diskussionsforen.
  • telnet: Fernzugriff auf Computer.

Struktur eines HTML-Dokuments

<!DOCTYPE html>
<html>
<head>
<title>Seitentitel</title>
</head>
<body>
Seiteninhalt
</body>
</html>

Skriptsprachen

Skriptsprachen wie JavaScript werden direkt im Browser ausgeführt. Sie ermöglichen dynamische Inhalte, Formularvalidierung und visuelle Effekte, können jedoch keine serverseitigen Datenbanken direkt verwalten.

Bild

Verwandte Einträge: