Warum veranlasst Content-Security-Policy Chrome, JavaScript sequenziell zu laden?

8

Ich habe eine Website, die wesentlich langsamer lädt, wenn ich

hinzufüge %Vor%

zum Kopf des index.html.

Nach dem Debuggen für eine Weile stelle ich fest, dass alle JavaScript-Quellen sequentiell geladen werden, wenn dieses Meta-Tag vorhanden ist. Wenn ich diesen Tag entferne, wird JavaScript parallel geladen, so dass die Website viel schneller geladen werden kann.

Um dies zu reproduzieren, schrieb ich diese kleine Beispiel-HTML-Datei:

%Vor%

Hier ist die Netzwerkzeitachse mit dem Meta-Tag "Content-Security-Policy":

Wie man sieht, werden Ressourcen nacheinander geladen.

Hier ist die Netzwerk-Zeitleiste, wenn ich das "Content-Security-Policy" -Tag entferne.

Wie erwartet, werden Javascript-Ressourcen hier parallel geladen und die Seite ist auch bei kleinen Beispielen schneller geladen.

Gibt es eine Erklärung für dieses Verhalten? Wie kann ich das Beste aus beiden Welten haben: Paralleles Laden von Javascript-Dateien bei aktivierter "Content-Security-Policy"?

Die Tests wurden alle mit der neuesten Version von Chrome durchgeführt (50.0.2661.75 (64-Bit)). Weder Safari noch Firefox zeigen das gleiche seltsame Verhalten, sie laden Javascripts parallel, auch wenn "Content-Security-Policy" aktiviert ist.

    
bluegaspode 15.04.2016, 20:36
quelle

1 Antwort

0

Dies ist auf einem MAC mit

nicht reproduzierbar %Vor%

Beide Browser liefern diese drei Dateien von localhost in ein paar Millisekunden und parallel mit deaktiviertem Caching.

Ich habe das auch auf einem Remote-Server versucht, also nicht localhost und beides verlangsamt, aber alle Dateien wurden parallel geladen, dh ich konnte keinen Unterschied mit und ohne CSP ein- oder ausschalten sehen.

Ich glaube, dass es einen Mozilla-Wechsel gab, um C ++ für CSP zu verwenden, aber das war vor Jahren und würde Chrome nicht beeinflussen.

Ссылка

    
Harry 15.04.2016 23:08
quelle