Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Was sind HTTP Client Hints?

InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
HTTP Client Hints (Client-Hinweise) sind ein Mechanismus des Webbrowsers, der dem Server Informationen über die Fähigkeiten und Einschränkungen des Clients übermittelt, der eine Anfrage an die Webressource sendet.
Diese Hinweise können Daten wie Browserparameter (Größe), Bildschirmgröße, Anzahl der Punkte pro Zoll (DPI) und andere Geräteeigenschaften umfassen. Sie helfen Webservern, den Inhalt für einen bestimmten Client zu optimieren, was die Ladegeschwindigkeit und Interaktion mit der Webseite verbessert. Client-Hinweise werden über die entsprechenden HTTP-Header, wie Accept-CH, übermittelt, die es dem Server ermöglichen, die Antwort an die Bedürfnisse und Möglichkeiten des spezifischen Clients anzupassen.

Beispiel für HTTP Client Hint

Angenommen, die Website hat verschiedene Versionen von Bildern für unterschiedliche Bildschirme (mit unterschiedlicher Auflösung). Die Verwendung des Headers Accept-CH kann dem Server helfen, optimierte Versionen von Bildern basierend auf den Fähigkeiten des Clients zu senden.
Der Client sendet eine Anfrage an den Server:
GET /image/example.jpg HTTP/1.1
Host: www.example.com
Accept-CH: DPR, Width, Viewport-Width
Als nächstes erhält der Server die Anfrage und überprüft den Header Accept-CH. Der Header Accept-CH zeigt an, dass der Client die Header DPR (Device Pixel Ratio), Width (Bildschirmbreite) und Viewport-Width (Breite des sichtbaren Bereichs) unterstützt.
Daraufhin sendet der Server eine optimierte Antwort. Basierend auf den Informationen aus dem Header Accept-CH wählt der Server die optimale Bildversion für die Anzeige auf dem Gerät des Clients aus. Wenn der Client beispielsweise einen hohen DPR hat (z. B. Retina-Bildschirm), kann der Server ein hochauflösendes Bild von hoher Qualität senden. Wenn der Client einen älteren Bildschirm hat, kann der Server ein Bild mit niedrigerer Auflösung senden, um Bandbreite und Ladegeschwindigkeit zu sparen.

Hinweis Lebensdauer (Hint Life-Time)

Die Lebensdauer von Hinweisen bestimmt den Zeitraum, in dem sie (Client-Hinweise) aktiv und für den Server verfügbar bleiben müssen. Dies ist ein wichtiger Aspekt des Managements und der Optimierung des Datentransfers zwischen Client und Server.
Die Lebensdauer von Hinweisen wird durch den Header Accept-CH-Lifetime festgelegt, der zusammen mit den Client-Hinweisen übermittelt wird. Dieser Header gibt dem Server an, wie lange die Hinweise als gültig betrachtet werden können und zur Optimierung von Antworten verwendet werden können.
Die richtige Festlegung der Lebensdauer von Hinweisen ermöglicht eine effektive Verwaltung der Ressourcen des Servers und des Netzwerks, wodurch die Relevanz und Genauigkeit der übermittelten Daten gewährleistet wird.
Beispielsweise kann im Header Accept-CH-Lifetime der Wert "604800" (in Sekunden) angegeben werden, was einer Woche entspricht. Das bedeutet, dass die Client-Hinweise während dieses Zeitraums aktiv bleiben müssen.

Niedrig Entropie Hinweise

Niedrige Entropie weist auf eine Situation hin, in der die Eigenschaften des Clients eine begrenzte Vielfalt oder geringe Komplexität aufweisen. Dies kann aus verschiedenen Gründen auftreten, wie z. B. eingeschränkte Funktionalität des Geräts, Netzwerkbeschränkungen oder schlechte Verbindungsqualität.
Hinweise mit niedriger Entropie können Werte umfassen, die sich nicht signifikant ändern oder nicht über einen großen Bereich möglicher Optionen verfügen. Zum Beispiel eine niedrige Bildschirmauflösung, eine begrenzte Netzwerkgeschwindigkeit oder eine eingeschränkte Unterstützung für Inhaltsformate.
Wenn der Server Hinweise mit niedriger Entropie erhält, kann er diese Informationen bei der Optimierung der Antwort für den Client berücksichtigen. Zum Beispiel die Reduzierung der Bildqualität für Geräte mit niedriger Bildschirmauflösung oder die Verwendung weniger umfangreicher Inhaltsformate für Geräte mit eingeschränktem Netzwerkzugang.
Das Verständnis von Hinweisen mit niedriger Entropie hilft Servern, Ressourcen effektiv zu verwalten und eine optimale Interaktion mit den Clients zu gewährleisten. Dies reduziert die Belastung des Servers und sorgt für eine bessere Leistung von Webanwendungen für alle Benutzer, unabhängig von den Eigenschaften ihrer Geräte und Netzwerkbedingungen.
Niedrige Entropie von Hinweisen ist wichtig, um die Möglichkeiten und Einschränkungen der Clients zu verstehen und ermöglicht es, die Antworten des Servers effektiv für jeden einzelnen Benutzer zu optimieren.
Ein Beispiel könnte die Einschränkung der Inhaltsformate sein, die der Client unterstützt. Wenn der Client beispielsweise nur grundlegendes HTML mit Bildern im JPEG-Format verarbeiten kann, schränkt dies die Vielfalt möglicher Inhaltsformate ein (hat in diesem Kontext eine niedrige Entropie).

Kritische Client-Hinweise

Kritische Client-Hinweise sind eine Teilmenge von Client-Hints, die eine besondere Bedeutung für die Optimierung der Anzeige von Inhalten auf der Seite haben, um die Ladegeschwindigkeit und das Benutzererlebnis zu verbessern.
Diese Hinweise werden als kritisch eingestuft, basierend auf ihrem Einfluss auf den Prozess der Seitenanzeige und ihrem potenziellen Einfluss auf die Ladegeschwindigkeit. Sie können auch Parameter wie Bildschirmbreite, Auflösung, DPI (dots per inch - Punkte pro Zoll), Skalierung und andere umfassen.
Die Verwendung kritischer Client-Hinweise ermöglicht es dem Server, dem Client nur die notwendigen Inhalte für die erste Anzeige der Seite zu übermitteln, wodurch die Ladezeit verkürzt wird. Dies ist besonders nützlich für Geräte mit begrenzten Ressourcen oder Netzwerkbedingungen mit niedriger Bandbreite.
Der Header Sec-CH-UA-* gibt die kritischen Client-Hinweise an und stellt dem Server Informationen darüber zur Verfügung, die es dem Server ermöglichen, die Antworten für jeden spezifischen Client zu optimieren.
Sec-CH-UA-* (Sicherheitskritischer User-Agent-Header). Ein Header, der es dem Client ermöglicht, dem Server kritische Hinweise zu den Eigenschaften des Geräts und des Browsers zu geben. Ein Beispiel für die Verwendung dieses Headers:
GET /example-resource HTTP/1.1
Host: tseivo.com
Sec-CH-UA: "Chromium";v="88", "Google Chrome";v="88"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Full-Version: "88.0.4324.182"
Sec-CH-UA überträgt Informationen über den Browser, in diesem Fall "Chromium" und "Google Chrome" mit der Version "88".
Sec-CH-UA-Mobile gibt an, ob der Browser mobil ist (?0 bedeutet "nein").
Sec-CH-UA-Full-Version überträgt die vollständige Version des Browsers.
Diese Informationen ermöglichen es dem Server, Inhalte für den spezifischen Client anzupassen.
Ein weiteres Beispiel für kritische Client-Hinweise:
HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Sec-CH-Prefers-Reduced-Motion
Vary: Sec-CH-Prefers-Reduced-Motion
Critical-CH: Sec-CH-Prefers-Reduced-Motion
Accept-CH überträgt dem Server Informationen darüber, welche Client-Hinweise der Browser des Clients unterstützt. In diesem Fall gibt der Browser an, dass er reduzierten Bewegungseffekten den Vorzug gibt (Sec-CH-Prefers-Reduced-Motion).
Vary gibt an, dass die Antwort des Servers je nach Wert von Sec-CH-Prefers-Reduced-Motion variieren kann. Dies ermöglicht die Caching verschiedener Versionen der Antwort.
Critical-CH Header gibt an, dass Sec-CH-Prefers-Reduced-Motion ein kritischer Hinweis zur Optimierung der Seitenanzeige ist. Das bedeutet, dass der Server diese Informationen unbedingt bei der Bereitstellung der Antwort berücksichtigen muss.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

12. Apr, 09:55 Uhr

Was ist der Unterschied zwischen den HTTP-Methoden PUT und PATCH?

meme code
meme code@memecode
12. Apr, 09:57 Uhr

Wozu dient die HTTP-Methode TRACE?

meme code
meme code@memecode
12. Apr, 10:07 Uhr

Was ist Routing?

meme code
meme code@memecode
14. Apr, 09:12 Uhr

Was sind Quality-Werte (Qualitätswerte / Priorität) in HTTP?

meme code
meme code@memecode
14. Apr, 09:14 Uhr

Accept - HTTP-Header, wofür er benötigt wird und wie er funktioniert?

meme code
meme code@memecode
15. Apr, 17:50 Uhr

Was ist Entropie?

meme code
meme code@memecode
18. Apr, 05:27 Uhr

Wir beheben ActiveRecord::ProtectedEnvironmentError in der lokalen Umgebung.

meme code
meme code@memecode
18. Apr, 06:06 Uhr

Wir analysieren den Fehler PG::ObjectInUse (Ruby on Rails)

meme code
meme code@memecode
27. Apr, 09:29 Uhr

Was sind CC und BCC in E-Mails? Wozu und wie verwendet man sie?

meme code
meme code@memecode
Was ist ein Prompt und Prompt-Engineering?
03. Mai, 12:08 Uhr

Was ist ein Prompt und Prompt-Engineering?

meme code
meme code@memecode
ZOMBIE in Ruby. Was ist das?
03. Mai, 12:41 Uhr

ZOMBIE in Ruby. Was ist das?

meme code
meme code@memecode
03. Mai, 13:13 Uhr

Was ist der Garbage Collector in Ruby? Wie funktioniert er und wozu wird der GC benötigt?

meme code
meme code@memecode