Hypertext Transfer Protocol (HTTP)

Eintrag zuletzt aktualisiert am: 15.09.2022

Hypertext Transfer Protocol (HTTP) ist das Standardprotokoll in Web-Anwendungen, das nach dem Request-Response-Verfahren auf Basis von TCP/IP arbeitet.

Versionsgeschichte

HTTP/1.0 wurde 1996 standardisiert.

HTTP/2 ist eine Erweiterung zum ursprünglichen HTTP-Protokoll. Eine Verbindung startet weiterhin mit HTTP/1, kann aber ein Upgrade auf HTTP/2 bekommen, weil Client (Browser) und Server dies unterstützen. HTTP/2 wurde im RFC 7540 am 14.5.2015 veröffentlicht. Die meisten Browser unterstützen HTTP/2 seit dem Jahr 2015.

Eigenschaften von HTTP/2:
  • HTTP/2 kann optional anstelle von TCP/IP auf Quic UDP Internet Connections (QUIC) aufsetzen.
  • Binäre, komprimierte Übertragung des HTTP-Headers
  • Bidirektionale Kommunikation

HTTP/3 basiert nicht mehr auf TCP/IP, sondern auf Quic UDP Internet Connections (QUIC) und ist schneller als HTTP/2.

HTTP-Clients in .NET

System.Net.WebRequest --> ältere Implementierung seit .NET Framework 1.0
System.Net.Http.HttpClient --> neuere Implementierung

Beispiel: Abruf einer Webseite per HTTP in .NET

// Absenden einer HTTP-Anfrage
public void HTTP_Anfrage()
{
const string URL = "http://www.it-visions.de";
// Anfrage definieren
HttpWebRequest frage = (HttpWebRequest)HttpWebRequest.Create(URL);
// Antwort holen
HttpWebResponse antwort = (HttpWebResponse)frage.GetResponse();
// Meta-Daten
Demo.Print("Antwortlänge: " + antwort.ContentLength)
Demo.Print("Status: " + antwort.StatusCode);
Demo.Print("Letzte Änderung: " + antwort.LastModified)
Demo.Print("Inhaltstyp: " + antwort.ContentType);
// Inhalt ausgeben
StreamReader sr = new StreamReader(antwort.GetResponseStream());
Demo.Print(sr.ReadToEnd());
}