Beim Testen dieser Seite mit Seitengeschwindigkeit erhalte ich den folgenden Specify a character set
Fehler:
The following resources have no character set specified in their HTTP headers. Specifying a character set in HTTP headers can speed up browser rendering.
Das Content-Type
Tag ist vorhanden und die Seite wurde auch mit UTF-8-Codierung gespeichert. Woher kommt der Fehler?
Antworten:
Es bezieht sich auf Antwortheader und nicht auf den Dokumenttext ("Content-Type-Tag").
Wenn Sie die Antwortheader Ihrer Seite mit einem HTTP-Debugger überprüfen (z. B. Net Panel von Firebug für Firefox oder eine ähnliche Registerkarte der Entwicklertools in Google Chrome / Internet Explorer / Safari / Opera), wird folgende Zeile angezeigt:
Zur gleichen Zeit, wenn Sie das gleiche für diese Seite überprüfen , werden Sie sehen:
Die Seitengeschwindigkeit bezieht sich auf den fehlenden Teil. Mit richtigem Zeichensatz in Header wird in der Tat der Seite beschleunigt Rendering ein wenig . Wenn im Antwortheader ein falscher Zeichensatz angegeben ist (oder überhaupt kein Zeichensatz), muss der Browser die Seite scannen / interpretieren, bis er die richtige Zeichensatzdeklaration (die
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Zeile) findet, und dann den Renderprozess neu starten, wenn sich der Zeichensatz vom des Browsers unterscheidet Voreinstellung.Die Leistungseinbußen sind nicht groß - für den Benutzer ist sie unbemerkt, es sei denn, es wird wirklich alte / langsame Hardware verwendet (obwohl sie für jeden Browser und jede Browserversion unterschiedlich ist). Vielleicht gibt es einige andere "Strafen", die direkt damit zusammenhängen, aber ich persönlich kenne sie nicht.
Festsetzung: Wenn Sie diesen Header selbst (in Ihrem PHP-Skript) generieren, müssen Sie ihn so ändern, dass er auch den Zeichensatz enthält. Wenn Ihr Skript solche Header-Manipulationen nicht ausführt, liegt ein Fehler in der Serverkonfiguration vor.
quelle
header('Content-type: text/html; charset=UTF-8');
. Danke vielmals!curl --head $url
. Der Standardzeichensatz kann in Apache durch HinzufügenAddDefaultCharset utf-8
einer Konfigurationsdatei wie .htaccess festgelegt werden.<meta charset="utf+8">
ausreichen?