HTTP und HTTPS: Ein umfassender Leitfaden

Classified in Informatik

Written at on Deutsch with a size of 9,13 KB.

Was ist HTTP?

HTTP (Hypertext Transfer Protocol) ist ein Protokoll, das ursprünglich für den Austausch wissenschaftlicher Daten entwickelt wurde. Es ist die am häufigsten verwendete Methode für den Informationsaustausch im World Wide Web (WWW). Dieses Verfahren ist im RFC 1945 beschrieben. Die sichere Version von HTTP, genannt HTTPS, verwendet Verschlüsselungsmethoden.

WWW und das Internet

Das WWW ist nicht das Internet, sondern eine Form des Informationsaustauschs, die hauptsächlich über HTTP erfolgt. Das Internet ist viel umfassender und unterstützt eine Vielzahl von Protokollen und Informationsmengen.

Ein wenig Geschichte

1990 wurde ein System entwickelt, um Rich-Text-Dokumente oder Hypertexte zu verwalten. Dieses System erhielt den Namen World Wide Web (WWW), auch bekannt als "Web".

Die Website ist derzeit der am weitesten verbreitete Internetdienst. Ursprünglich als einfaches Navigationssystem für Multimedia-Informationen konzipiert, können Seiten auf Bilder, Töne, Videos usw. zugreifen.

Das World Wide Web ist eine Gruppe von Tausenden von Webseiten und textbasierten Informationen, die über Hyperlinks verbunden sind, um Informationen einfach abzurufen.

Struktur des WWW: Client-Server-Modell

Das Web arbeitet nach einem Client-Server-Modell in einem TCP/IP-Netzwerk. Anfragen für HTML-Seiten werden von einem Client an einen Server gestellt. Dieser Server kann sich im selben Netzwerk wie der Client befinden oder nicht. Auf der Client-Seite sendet das Browser-Programm, mit dem der Benutzer interagiert, Anfragen an einen Webserver. Dieser Client wird als HTTP-Client oder Webbrowser bezeichnet.

Die vom HTTP-Client empfangenen Seiten sind Nur-Text-Dokumente, die durch Tags in der HTML-Sprache strukturiert sind. Das Browser-Programm interpretiert diese Tags, um die Seite im richtigen Format anzuzeigen. Wenn ein Medienobjekt empfangen wird, das vom HTTP-Client nicht erkannt wird, muss dieser eine externe Anwendung aktivieren oder den Benutzer fragen, was mit der Datei geschehen soll.

Merke: Das Übertragungsprotokoll ist das System, über das die angeforderten Informationen zwischen Servern und Clients gesendet werden. Es wird von einem Programm interpretiert, das die Sprache versteht, z. B. ein HTML-Browser.

Die Rolle des Servers

Aus der Sicht des Servers besteht seine Funktion darin, auf Anfragen von HTTP-Client-Programmen zu antworten. Das HTTP-Protokoll ist ein zustandsloses Protokoll, d.h., es speichert keine Informationen über frühere Verbindungen. Das Funktionsschema ist einfach: Wenn der Server das angeforderte HTML-Dokument findet, sendet er es. Wenn es ein solches Dokument nicht gibt, sendet er einen Fehlercode. In beiden Fällen wird die Verbindung beendet.

Cookies

Um diese "fehlende Erinnerung" des Protokolls zu beheben, werden Cookies verwendet. Dies sind Textdateien, die zwischen Client und Server ausgetauscht werden, sodass beim nächsten Aufruf Informationen zwischen denselben Punkten ausgetauscht werden können, ohne dass die Informationen erneut eingegeben werden müssen.

HTTP-Server

Bemerkenswerte HTTP-Server sind:

  • NCSA HTTPd: Einer der ersten Server, der kostenlos war. Er konnte jedoch nicht als Proxy fungieren und unterstützte keine internationalen Wertpapiertransaktionen.
  • Apache: Ursprünglich auf NCSA basierend, hat sich Apache aufgrund seiner einfachen Konfiguration und Leistung zu einem führenden Internetserver entwickelt.
  • Internet Information Server (IIS): Von Microsoft für Windows Server-Systeme entwickelt.

Übertragung von Webseiten

Die angeforderte Webseite wird im Webbrowser durch Eingabe ihrer Adresse (URL) aufgerufen. Die Struktur dieser Adresse zeigt das Protokoll und den Port an, an dem die Anfrage gestellt wurde.

  1. Der Benutzer gibt die URL der Seite, die er anzeigen möchte, in den HTTP-Client ein.
  2. Der HTTP-Client dekodiert die URL-Informationen.
  3. Der Client stellt eine Verbindung zum Webserver her und fordert die Seite und/oder das gewünschte Objekt an.
  4. Der Server sendet die Seite oder das Objekt, und der Client beginnt mit der Interpretation der HTML-Codes.
  5. Die Verbindung wird geschlossen.

Merkmale von HTTP

Die wichtigsten Merkmale von HTTP sind:

  • Client-Server-Kommunikation mit 8-Bit-Zeichen.
  • Drei grundlegende Methoden der Anfrage: GET, HEAD und POST.
  • Kommunikationseinheit ohne Status (zustandslos).

HTTP-Nachrichten

HTTP-Nachrichten sind die Anfragen, die zwischen Client und Server ausgetauscht werden, sowie die Antworten in umgekehrter Richtung. Der Inhalt besteht aus Textzeilen mit Befehlen und Parametern, die durch die Syntax des HTTP-Protokolls definiert sind.

Anfragemethoden (HTTP 1.0 und 1.1)

Eine HTTP-Anfrage hat in ihrer einfachsten Form die Syntax: Methode, URI, Version.

HTTP Version 1.0 bietet drei Methoden:

  • GET
  • HEAD
  • POST

HTTP Version 1.1 erweitert diese Möglichkeiten und implementiert neue Methoden:

  • PUT
  • DELETE
  • OPTIONS
  • TRACE

Antwortmethoden

Die Syntax einer HTTP-Antwort ist in ihrer einfachsten Form eine Statuszeile mit einer festen Struktur, die Version, Fehlercode und Text anzeigt.

Mögliche Statuscodes werden mit dreistelligen Nummern identifiziert und in fünf Gruppen eingeteilt:

  • 1xx: Informativ
  • 2xx: Erfolgreiche Ausführung der Anwendung
  • 3xx: Umleitung aufgrund der Anfrage
  • 4xx: Fehler, die vom Client verursacht wurden
  • 5xx: Fehler, die auf dem Server verursacht wurden

HTTP-Header-Zeilen

Header-Zeilen sind ein wichtiger Bereich, da sie einen Großteil der Informationen enthalten, die zwischen Client und Server ausgetauscht werden. Sie definieren die Flexibilität des Protokolls.

Header können nach ihrer Funktion klassifiziert werden:

  • Allgemeine Header: Verwalten von Informationen, die sowohl von Clients als auch von Servern verwendet werden können.
  • Anforderungsheader: Werden vom Client verwendet, um zusätzliche Informationen an den Server zu senden.
  • Antwortheader: Werden vom Server verwendet, um Informationen an den Client zu senden.
  • Entitätsheader: Enthalten Informationen, die sich direkt auf die Ressource beziehen, die dem Client zur Verfügung gestellt werden soll.

MIME-Typen

MIME-Typen wurden ursprünglich verwendet, um die Eigenschaften von E-Mails zu erweitern. Heute werden sie auch als Internet Media Types (IMT) bezeichnet.

MIME-Typen bestehen aus einem Typ und einem Subtyp.

Die Registrierung von MIME-Typen wird von der IANA kontrolliert. Dies stellt sicher, dass zwei verschiedene Arten von Inhalten nicht denselben Namen haben.

Das HTTP-Protokoll verwendet MIME-Typen in seinen Headern für die folgenden Funktionen:

  • Den Client über die Art der Daten informieren, die er vom Server erhält.
  • Content Negotiation ermöglichen.
  • Ein oder mehrere Objekte in der Nachricht kapseln.

Sichere Protokolle und Schlüssel

Die SSL-Verschlüsselung (Secured Socket Layer) wird bei Transaktionen zwischen Webclient und -server verwendet. Sie ermöglicht die Verwendung digitaler Signaturen und kryptografischer Algorithmen (Digest- oder Message-Digest-Algorithmen).

SSL ist ein System, das von der Netscape Communications Corporation vorgeschlagen wurde und sich auf der Sitzungsebene des OSI-Stacks befindet.

Funktionsweise von SSL

  1. Anfrage des Clients: Der Client fordert eine URL mit SSL-Unterstützung an. Oft wird MD5 als Hash-Algorithmus verwendet.
  2. Einrichtung der SSL-Verbindung.
  3. Überprüfung der Client-Server-Vereinbarung und des Verschlüsselungsalgorithmus.
  4. Senden der Serverantwort zur Identifizierung.
  5. Client-Genehmigung: Der Client überprüft die Identität des Servers und generiert einen zufälligen Schlüssel, der mit dem öffentlichen Schlüssel des Servers verschlüsselt wird.

Zu diesem Zeitpunkt kennen beide Parteien ihre jeweiligen Schlüssel und können Informationen sicher austauschen.

Das SSL-Protokoll ist zweifellos das am häufigsten verwendete Protokoll im heutigen Internet.

HTTPS-Protokoll

Eine der häufigsten Anwendungen von SSL ist die Schaffung sicherer Webkommunikation zwischen einem Webbrowser und einem HTTPS-Server. Die Verwendung von HTTPS macht die Verwendung von HTTP als Standardbrowser nicht ungültig. Der Browser warnt jedoch vor dem Wechsel von einem Protokoll zum anderen. Dieser Hinweis ist wichtig, da er den Übergang von einem sicheren zu einem unsicheren Bereich anzeigt.

Entradas relacionadas: