molily: Was Browser downloaden ...

Beitrag lesen

Hallo,

Neben meiner grundsätzlichen "Abneigung" dagegen, das grundsätzliche Layout einer Site von Javascript abhängig zu machen, sehe ich auch ansonsten keine Vorteile in diesem Ansatz.

Das habe ich auch nicht empfohlen. Ohne JavaScript kann man ruhig alle Stylesheets referenzieren (z.B. im noscript). Bei aktiviertem JavaScript kann man die gerade benötigten laden.

Kurz gesagt halte ich die Clientseite für die falsche Seite für diese Dinge.

Media-Queries lassen sich nunmal nur clientseitig auswerten. Spätestens bei einem Viewport-Resize oder Orientation-Wechsel müsste ein Request zum Server gehen.

Wirkliche "Abhilfe" würde hier imho nur etwas bringen, was es auf der Serverseite ermöglichen würde, nur die tatsächlich aktuell benötigten Resourcen auszuliefern.

Eine solche Modularisierung …

<link rel="stylesheet" src="a.css" media="media query">  
<link rel="stylesheet" src="b.css" media="andere media query">

… ist doch eigentlich ideal. Dann lädt der Client das, was er gerade braucht. Jetzt mal vom HTTP-Overhead abgesehen.

Dafür ließe sich freilich eine Server-API schreiben, die in einem komplexen Verfahren Stylesheets (nach-)lädt. Aber einfacher als oben geht’s nicht.

Ich denke nicht, dass dieses Problem durch ein spezifisches »Protokoll« gelöst wird, das dem Server die Entscheidung ermöglicht, gewisse Daten zu pushen. Die derzeitigen Vorschläge, z.B. HTTP Client-Hints, sind als allgemeine Lösung ungeeignet.

Vielleicht wird langfristig HTTP 2.0 weiterhelfen und das parallele Laden sowie das modulare Nachladen von Ressourcen verbessern. Und hoffentlich sinken die Latenz von Mobilverbindungen sowie die Datenübertragungskosten langfristig.

Mathias