Wird immer noch empfohlen, mit der Einführung von http / 2 über dem Falz-CSS zu arbeiten?

8

Seit einiger Zeit folge ich der Empfehlung von Google hier ( https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery ), um für schnellere Ladezeiten kritisch über dem Falz-CSS Inline zu arbeiten. Ich habe mich gefragt, ob dies immer noch notwendig sein wird, wenn http2 immer höher wird. Meine Argumentation ist die Art und Weise, wie ich es verstehe. Http2 ermöglicht parallele Anforderungen über eine Verbindung, sodass das CSS sofort mit dem Herunterladen beginnen kann. Bitte korrigiert mich jemand, wenn mein Verständnis der Funktionsweise von http2 falsch ist ...

jetyet47
quelle

Antworten:

2

Sie haben Recht mit der Notwendigkeit, CSS mit der Einführung von HTTP / 2 nicht mehr zu integrieren. Tatsächlich schlagen die Best Practices von HTTP / 2 das Gegenteil von Inlining vor. Die Frage, die sich für Sie und jeden Leser dieses Beitrags stellt, ist, wann der richtige Zeitpunkt für diesen Wechsel ist.

Ein Wechsel von Inlining zu nicht mehr Inlining (und das Gleiche gilt für Bild-Sprites) sollte wirklich nur vorgenommen werden, nachdem die Browser- / Client-Fähigkeiten Ihrer Benutzer zur Annahme von HTTP / 2 sorgfältig geprüft wurden. Die Verwendung von Analysen zur Information über Ihre Entscheidung macht das Rätselraten überflüssig, wenn dies der Fall ist.

Mit der Zeit wäre ich nicht überrascht, wenn Änderungen an Apache, mod_pagespeed, nginx, vanish und anderen nur für HTTP / 1-Clients / Browser automatisch inline erfolgen würden. Halten Sie sich also an die Versionsaktualisierungen für wichtige Webserver, um diese Änderung zu automatisieren.

Für weitere Informationen zu HTTP / 2 empfehle ich den Changelog.com-Podcast über HTTP / 2 mit Ilya Grigorieva, der Hauptarchitektin hinter Googles http / 2-Bemühungen: Hören Sie sich das Interview hier an

John Mark Mitchell
quelle
1

Die Idee hinter Inlining für Over-the-Fold ist immer noch gut, da Anfragen nach CSS immer noch genauso lange dauern und Seiten immer noch blockiert werden, während die CSS-Datei heruntergeladen wird. HTTP / 2 beschleunigt das Herunterladen nicht. Es ermöglicht das gleichzeitige Herunterladen. Auf diese Weise warten Bilder und andere Dateien nicht auf ihren Platz in der Schlange, aber das Herunterladen und Ausführen oder Installieren dauert genauso lange wie vor HTTP / 2.

rauben
quelle
Angenommen, Sie haben eine Seite mit einer CSS-Datei und einem Bild. Das Bild ist größer als das CSS. Wenn sie gleichzeitig heruntergeladen werden, spielt es dann keine Rolle, ob das CSS inline ist oder nicht, da die Downloadzeit sowieso so lange dauert wie die längste Ressource, in diesem Fall das Image?
Jetyet47
@ jetyet47 Mein Punkt war, dass das OP dachte, HTTP / 2 beschleunige das Herunterladen. Es tut nicht. Beachten Sie, dass CSS das erste Malen blockiert, bis es heruntergeladen und das CSS-Objektmodell erstellt wird.
Rob