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.

Berechtigungspolitik

Die Berechtigungspolitik bietet Mechanismen für Webentwickler, um explizit festzulegen, welche Funktionalitäten auf einer Website verwendet werden dürfen und welche nicht. Sie definieren ein Set von "Richtlinien", die einschränken, auf welche APIs der Code der Website zugreifen kann oder das Standardverhalten des Browsers für bestimmte Funktionen ändern können. Dies ermöglicht es Ihnen, bewährte Praktiken durchzusetzen, selbst wenn sich der Code weiterentwickelt, und Drittinhalte sicherer zu integrieren.

Browsenerkennung mithilfe des User-Agent

Das Bereitstellen unterschiedlicher Webseiten oder Dienste für verschiedene Browser ist in der Regel keine gute Idee. Das Web soll für alle zugänglich sein, unabhängig davon, welchen Browser oder welches Gerät sie verwenden. Es gibt Möglichkeiten, Ihre Website so zu entwickeln, dass sie sich progressiv verbessert, basierend auf der Verfügbarkeit von Funktionen, anstatt gezielt auf bestimmte Browser zu zielen.

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, Beschränkungen für die Dinge zu setzen, die der Code der Website tun darf.

Cross-Origin Resource Policy (CORP)

Cross-Origin Resource Policy ist eine Richtlinie, die durch den Cross-Origin-Resource-Policy HTTP-Header festgelegt wird und es Websites und Anwendungen ermöglicht, sich gegen bestimmte Anfragen von anderen Ursprüngen zu schützen (wie solche, die mit Elementen wie <script> und <img> erstellt werden), 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 origin (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 protocol 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 Hints

Client Hints sind eine Reihe von Feldern im HTTP-Anforderungsheader, die ein Server proaktiv vom Client anfordern kann, um Informationen über das Gerät, das Netzwerk, den Benutzer und spezifische Einstellungen des User-Agents zu erhalten. Der Server kann entscheiden, welche Ressourcen gesendet werden, basierend auf den Informationen, die der Client bereitstellt.

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 zum Austausch von Daten zwischen einem Server und einem Client im HTTP-Protokoll. Es gibt zwei Arten von Nachrichten: Anfragen, die vom Client gesendet werden, um eine Aktion auf dem Server auszulösen, und Antworten, die die Antwort des Servers auf eine Anfrage darstellen.

Inhaltsverhandlung

Im HTTP ist Inhaltsverhandlung der Mechanismus, der verwendet wird, um dem gleichen URI unterschiedliche Representation_header einer Ressource bereitzustellen, damit der Benutzeragent angeben kann, welche Darstellung am besten für den Benutzer geeignet ist (zum Beispiel welche Dokumentensprache, welches Bildformat oder welche Inhaltskodierung).

Kompression in HTTP

Kompression ist eine wichtige Methode, um die Leistung einer Website zu erhöhen. Bei einigen Dokumenten senkt eine Größenreduktion von bis zu 70 % den Bandbreitenbedarf erheblich. Im Laufe der Jahre wurden 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-Antwortheader konfiguriert werden kann. Dieser experimentelle Header ermöglicht es Websites und Anwendungen, Berichte über fehlgeschlagene (und, falls gewünscht, erfolgreiche) Netzwerkabrufe von unterstützten Browsern zu erhalten.

Proxy-Server und Tunneling

Beim Navigieren durch verschiedene Netzwerke des Internets ermöglichen Proxy-Server und HTTP-Tunnel den Zugriff auf Inhalte im World Wide Web. Ein Proxy kann sich auf dem lokalen Rechner des Benutzers oder irgendwo zwischen dem Rechner des Benutzers und einem Zielserver im Internet befinden. Diese Seite skizziert einige Grundlagen zu Proxies und stellt einige Konfigurationsoptionen vor.

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 Nutzers 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 merken; standardmäßig ist das HTTP-Protokoll zustandslos.

Weiterleitungen in HTTP

URL-Weiterleitung, auch bekannt als URL-Weiterleitung, ist eine Technik, um einer Seite, einem Formular, einer ganzen Website oder einer Webanwendung mehr als eine URL-Adresse zuzuweisen. HTTP hat für diese Operation eine spezielle Art von Antwort, die als HTTP-Weiterleitung bezeichnet wird.