HTTP-Leitfäden

Diese Seite listet Leitfäden für HTTP auf. Sie dienen dazu, Ihnen zu helfen, zu verstehen, welche Dinge mit dem HTTP-Protokoll möglich sind.

Berechtigungsrichtlinie

Die Berechtigungsrichtlinie bietet Mechanismen für Webentwickler, um explizit zu deklarieren, welche Funktionalitäten auf einer Website genutzt werden können und welche nicht. Sie definieren eine Reihe von "Richtlinien", die einschränken, auf welche APIs der Code der Website zugreifen kann, oder ändern das Standardverhalten des Browsers für bestimmte Funktionen. Dies ermöglicht die Durchsetzung von Best Practices, auch wenn sich der Code weiterentwickelt, und eine sicherere Einbindung von Inhalten Dritter.

Browser-Erkennung mithilfe des User-Agent-Strings (UA sniffing)

Bei jeder Anfrage an einen Server fügen Browser einen User-Agent HTTP-Header mit einem Wert hinzu, der als User Agent (UA)-String bezeichnet wird. Dieser String soll den Browser, seine Versionsnummer und das Host-Betriebssystem identifizieren.

Content Security Policy (CSP)

Content Security Policy (CSP) ist ein Feature, das hilft, das Risiko bestimmter Arten von Sicherheitsbedrohungen zu verhindern oder zu minimieren. Es besteht aus einer Reihe von Anweisungen von einer Website an einen Browser, die den Browser anweisen, Einschränkungen für das zu setzen, was der Code der Website tun darf.

Cross-Origin Resource Policy (CORP)

Die Cross-Origin Resource Policy ist eine Richtlinie, die durch den Cross-Origin-Resource-Policy HTTP-Header festgelegt wird. Sie ermöglicht es Websites und Anwendungen, sich gegen bestimmte Anfragen von anderen Ursprüngen (wie die, die durch Elemente wie <script> und <img> ausgegeben werden) zu schützen, um spekulative Seitenkanalangriffe, wie Spectre, sowie Cross-Site Script Inclusion-Angriffe zu mildern.

Cross-Origin Resource Sharing (CORS)

Cross-Origin Resource Sharing (CORS) ist ein HTTP-Header-basierter Mechanismus, der es einem Server ermöglicht, alle Quellen (Domain, Schema oder Port) anzugeben, von denen ein Browser das Laden von Ressourcen erlauben soll, die nicht seine eigenen sind. CORS stützt sich auch auf einen Mechanismus, bei dem Browser eine "Preflight"-Anfrage an den Server senden, der die cross-origin Ressource hostet, um zu überprüfen, ob der Server die tatsächliche Anfrage zulassen wird. In diesem Preflight sendet der Browser Header, die die HTTP-Methode und die Header angeben, die in der tatsächlichen Anfrage verwendet werden.

Ein Überblick über HTTP

HTTP ist ein Protokoll zum Abrufen von Ressourcen wie HTML-Dokumenten. Es ist die Grundlage für jeden Datenaustausch im Web und ein Client-Server-Protokoll, was bedeutet, dass Anfragen vom Empfänger initiiert werden, in der Regel dem Webbrowser. Ein vollständiges Dokument wird normalerweise aus verschiedenen Ressourcen wie Textinhalt, Layoutanweisungen, Bildern, Videos, Skripten und mehr zusammengesetzt.

Eine typische HTTP-Sitzung

In Client-Server-Protokollen, wie HTTP, bestehen Sitzungen aus drei Phasen:

Evolution des HTTP

HTTP (Hypertext-Übertragungsprotokoll) ist das zugrundeliegende Protokoll des World Wide Web. Zwischen 1989-1991 von Tim Berners-Lee und seinem Team entwickelt, hat HTTP viele Veränderungen durchlaufen, die dazu beigetragen haben, seine Einfachheit zu bewahren und gleichzeitig seine Flexibilität zu gestalten. Lesen Sie weiter, um zu erfahren, wie sich HTTP von einem Protokoll, das zum Austausch von Dateien in einer halbvertrauten Laborumgebung entwickelt wurde, zu einem modernen Internetlabyrinth entwickelt hat, das Bilder und Videos in hoher Auflösung und 3D transportiert.

HTTP Client-Hinweise

Client-Hinweise sind eine Reihe von HTTP-Anfrageheader-Feldern, die ein Server proaktiv von einem Client anfordern kann, um Informationen über das Gerät, Netzwerk, den Benutzer und benutzerspezifische Präferenzen des User-Agents zu erhalten. Der Server kann basierend auf den Informationen, die der Client bereitzustellen wählt, entscheiden, welche Ressourcen gesendet werden.

HTTP Range-Anfragen

Eine HTTP Range-Anfrage fordert den Server auf, Teile einer Ressource an einen Client zurückzusenden. Bereichsanfragen sind nützlich für verschiedene Clients, einschließlich Mediaplayer, die zufälligen Zugriff unterstützen, Datenwerkzeuge, die nur einen Teil einer großen Datei benötigen, und Download-Manager, mit denen Benutzer einen Download pausieren und fortsetzen können.

HTTP-Authentifizierung

HTTP bietet einen allgemeinen Rahmen für Zugriffskontrolle und Authentifizierung. Diese Seite ist eine Einführung in den HTTP-Authentifizierungsrahmen und zeigt, wie Sie den Zugriff auf Ihren Server mit dem HTTP-"Basic"-Schema einschränken können.

HTTP-Bedingungsanfragen

HTTP hat ein Konzept der Bedingungsanfragen, bei denen das Ergebnis und sogar der Erfolg einer Anfrage durch den Vergleich der betroffenen Ressourcen mit einem Validierer gesteuert werden können. Diese Anfragen sind nützlich, um zwischengespeicherte Inhalte zu validieren und sicherzustellen, dass sie nur abgerufen werden, wenn sie sich von der bereits im Browser verfügbaren Kopie unterscheiden. Bedingte Anfragen sind auch nützlich, um die Integrität eines Dokuments beim Fortsetzen eines Downloads zu gewährleisten oder zu verhindern, dass Aktualisierungen beim Hochladen oder Ändern eines Dokuments auf dem Server verloren gehen.

HTTP-Caching

Der HTTP-Cache speichert eine Antwort, die mit einer Anfrage verknüpft ist, und verwendet die gespeicherte Antwort für nachfolgende Anfragen erneut.

HTTP-Nachrichten

HTTP-Nachrichten sind der Mechanismus, der zum Austausch von Daten zwischen einem Server und einem Client im HTTP-Protokoll verwendet wird. Es gibt zwei Arten von Nachrichten: Anfragen, die vom Client gesendet werden, um eine Aktion auf dem Server auszulösen, und Antworten, die Antwort, die der Server als Reaktion auf eine Anfrage sendet.

Inhaltsaushandlung

Im HTTP ist die Inhaltsaushandlung das Mechanismus, das verwendet wird, um verschiedene Darstellungen einer Ressource unter derselben URI bereitzustellen, um dem Benutzeragenten zu helfen, die Darstellung zu spezifizieren, die am besten für den Benutzer geeignet ist (zum Beispiel, welche Dokumentensprache, welches Bildformat oder welche Inhaltskodierung).

Kompression in HTTP

Kompression ist eine wichtige Möglichkeit, die Leistung einer Website zu erhöhen. Für einige Dokumente reduziert eine Größenverringerung um bis zu 70 % den benötigten Bandbreitenbedarf. Im Laufe der Jahre wurden die Algorithmen effizienter, und neue werden von Clients und Servern unterstützt.

Mechanismus zur Protokollaktualisierung

Das HTTP/1.1 Protokoll bietet einen speziellen Mechanismus, der verwendet werden kann, um eine bereits hergestellte Verbindung auf ein anderes Protokoll umzustellen, indem das Upgrade-Header-Feld verwendet wird.

MIME-Typen (IANA-Mediendateitypen)

Ein Medientyp (auch bekannt als Multipurpose Internet Mail Extensions oder MIME-Typ) gibt die Art und das Format eines Dokuments, einer Datei oder einer Bytesammlung an. MIME-Typen sind definiert und standardisiert im IETF's 6838.

Network Error Logging

Network Error Logging ist ein Mechanismus, der über den NEL HTTP-Antwort-Header konfiguriert werden kann. Dieser experimentelle Header ermöglicht es Websites und Anwendungen, Berichte über fehlgeschlagene (und, wenn gewünscht, erfolgreiche) Netzwerkabrufe von unterstützenden Browsern zu erhalten.

Proxy-Server und Tunneling

Beim Navigieren durch verschiedene Netzwerke des Internets erleichtern Proxy-Server und HTTP-Tunnel den Zugriff auf Inhalte im World Wide Web. Ein Proxy kann sich auf dem lokalen Computer des Benutzers befinden oder irgendwo zwischen dem Computer des Benutzers und einem Zielserver im Internet. Diese Seite skizziert einige Grundlagen zu Proxys und führt einige Konfigurationsoptionen ein.

Transport von Komprimierungswörterbüchern

Transport von Komprimierungswörterbüchern ist eine Methode, um mit einem gemeinsamen Komprimierungswörterbuch die Übertragungsgröße von HTTP-Antworten erheblich zu reduzieren.

Umleitungen in HTTP

URL-Umleitung, auch bekannt als URL-Weiterleitung, ist eine Technik, um einer Seite, einem Formular, einer gesamten Website oder einer Webanwendung mehr als eine URL-Adresse zu geben. HTTP hat eine spezielle Art von Antwort, bekannt als HTTP-Umleitung, für diese Operation.

Verbindungsmanagement in HTTP/1.x

Verbindungsmanagement ist ein zentrales Thema in HTTP: Das Öffnen und Aufrechterhalten von Verbindungen hat großen Einfluss auf die Leistung von Websites und Webanwendungen. In HTTP/1.x gibt es mehrere Modelle: kurzlebige Verbindungen, persistente Verbindungen und HTTP-Pipelining.

Verwendung von HTTP-Cookies

Ein Cookie (auch bekannt als Web-Cookie oder Browser-Cookie) ist ein kleines Datenstück, das ein Server an den Webbrowser eines Benutzers sendet. Der Browser kann Cookies speichern, neue Cookies erstellen, bestehende ändern und sie mit späteren Anfragen an denselben Server zurücksenden. Cookies ermöglichen es Webanwendungen, begrenzte Datenmengen zu speichern und Zustandsinformationen zu behalten; standardmäßig ist das HTTP-Protokoll zustandslos.