Dieser Artikel teilt Ihnen hauptsächlich die Details zur Verbesserung der Website-Leistung durch PHP mit und hofft, allen zu helfen.
Die erste besteht darin, die Anzahl der HTTP-Anfragen so weit wie möglich zu reduzieren (weniger HTTP-Anfragen stellen).
HTTP-Anfragen sind teuer und die Suche nach Möglichkeiten zur Reduzierung der Anzahl der Anfragen kann natürlich verbessert werden die Geschwindigkeit der Webseite. Zu den häufig verwendeten Methoden gehören das Zusammenführen von CSS, JS (Zusammenführen von CSS- und JS-Dateien auf einer Seite), Imagemaps und CSS-Sprites usw. Natürlich ist die Aufteilung von CSS- und JS-Dateien in mehrere Dateien möglicherweise auf Überlegungen wie die CSS-Struktur und -Freigabe zurückzuführen. Alibabas chinesischer Website-Ansatz bestand damals darin, sie separat zu entwickeln und dann js und css im Hintergrund zusammenzuführen. Auf diese Weise war es immer noch eine Anfrage für den Browser, konnte aber während der Entwicklung immer noch in mehrere Anfragen wiederhergestellt werden, was die Verwaltung erleichterte wiederholte Verweise. Yahoo empfiehlt sogar, die CSS- und JS-Dateien der Homepage direkt in die Auslagerungsdatei zu schreiben, anstatt externe Referenzen. Da die Anzahl der Besuche auf der Homepage zu groß ist, kann dies auch dazu führen, dass die Anzahl der Anfragen um zwei sinkt. Tatsächlich tun dies viele inländische Portale.
CSS-Sprites verwenden nur die Hintergrundbilder auf der Seite, die zu einem zusammengeführt werden sollen, und verwenden dann den durch die Eigenschaft „background-position“ von CSS definierten Wert, um den Hintergrund zu erhalten. Die chinesischen Websites Taobao und Alibaba tun dies derzeit. Bei Interesse können Sie sich die Hintergrundbilder von Taobao und Alibaba ansehen.
http://www.csssprites.com/ Dies ist eine Tool-Website, die die von Ihnen hochgeladenen Bilder automatisch zusammenführen und die entsprechenden Hintergrundpositionskoordinaten angeben kann. Und geben Sie die Ergebnisse im PNG- und GIF-Format aus.
Zweitens: Verwenden Sie ein Content-Delivery-Netzwerk.
Um ehrlich zu sein, weiß ich nicht viel über CDN. Einfach ausgedrückt: Durch bestehende Netzwerkarchitekturen entsteht eine neue Ebene Dem Internet hinzugefügt, um Website-Inhalte auf dem Cache-Server zu veröffentlichen, der dem Benutzer am nächsten liegt. Mithilfe der DNS-Lastausgleichstechnologie wird die Quelle des Benutzers ermittelt und der Cache-Server in der Nähe aufgerufen. Benutzer in Hangzhou besuchen den Cache-Server in der Nähe . Der Zugriff auf den Inhalt auf dem Hangzhou-Server ähnelt dem Inhalt auf dem Peking-Server. Dadurch kann die Zeit für die Datenübertragung im Netzwerk effektiv verkürzt und die Geschwindigkeit erhöht werden. Ausführlichere Informationen finden Sie in der Erklärung von CDN in der Baidu-Enzyklopädie. Yahoo! verteilt statische Inhalte an ein CDN und reduziert die Zeit, die der Benutzer benötigt, um 20 % oder mehr.
Artikel 3, Expires-/Cache-Control-Header hinzufügen: Einen Expires-Header hinzufügen
Jetzt werden immer mehr Bilder, Skripte, CSS und Flash in die Seite eingebettet zwangsläufig viele http-Anfragen stellen. Tatsächlich können wir diese Dateien zwischenspeichern, indem wir den Expires-Header festlegen. Expire gibt tatsächlich die Cache-Zeit eines bestimmten Dateityps im Browser über die Header-Nachricht an. Die meisten Bilder im Flash müssen nach der Veröffentlichung nicht häufig geändert werden. Nach dem Caching muss der Browser diese Dateien in Zukunft nicht mehr vom Server herunterladen, sondern liest sie direkt aus dem Cache, was den Zugriff beschleunigt Die Seite wird erneut stark beschleunigt. Die von einem typischen HTTP 1.1-Protokoll zurückgegebenen Header-Informationen:
HTTP/1.1 200 OK Date: Fri, 30 Oct 1998 13:19:41 GMT Server: Apache/1.3.3 (Unix) Cache-Control: max-age=3600, must-revalidate Expires: Fri, 30 Oct 1998 14:19:41 GMT Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT ETag: “3e86-410-3596fbbc” Content-Length: 1040 Content-Type: text/html
Dies kann durch Festlegen von Cache-Control und Expires über serverseitige Skripts erfolgen.
Zum Beispiel kann das Festlegen des Ablaufdatums nach 30 Tagen in PHP
<!--pHeader("Cache-Control: must-revalidate"); $offset = 60 * 60 * 24 * 30; $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; Header($ExpStr);-->
auch durch die Konfiguration des Servers selbst erfolgen, haha. Freunde, die mehr wissen möchten, können sich an http://www.web-caching.com/ wenden.
Soweit ich weiß, beträgt die aktuelle Ablaufzeit der chinesischen Alibaba-Website 30 Tage. Allerdings gab es in diesem Zeitraum Probleme, insbesondere die Einstellung der Skript-Ablaufzeit sollte sorgfältig überlegt werden, da es sonst lange dauern kann, bis der Client solche Änderungen „wahrnimmt“, nachdem die entsprechende Skriptfunktion aktualisiert wurde. Ich bin schon einmal auf dieses Problem gestoßen, als ich an [Projekt vorschlagen] gearbeitet habe. Daher sollte sorgfältig abgewogen werden, was zwischengespeichert werden soll und was nicht.
Artikel 4. Gzip-Komprimierung aktivieren: Gzip-Komponenten
Die Idee von Gzip besteht darin, die Datei zuerst auf der Serverseite zu komprimieren und sie dann zu übertragen. Dadurch kann die Größe der Dateiübertragungen erheblich reduziert werden. Nach Abschluss der Übertragung dekomprimiert der Browser den komprimierten Inhalt erneut und führt ihn aus. Alle aktuellen Browser unterstützen gzip „gut“. Nicht nur Browser können es erkennen, sondern auch große „Crawler“ können es sicher erkennen. Darüber hinaus ist die Komprimierungsrate von gzip sehr hoch und die allgemeine Komprimierungsrate beträgt 85 %. Dies bedeutet, dass eine 100-KByte-Seite auf der Serverseite auf etwa 25 KB komprimiert werden kann, bevor sie an den Client gesendet wird. Informationen zum spezifischen Gzip-Komprimierungsprinzip finden Sie im Artikel „Gzip-Komprimierungsalgorithmus“ auf csdn. Yahoo betont insbesondere, dass alle Textinhalte gzip-komprimiert sein sollten: HTML (PHP), JS, CSS, XML, TXT ... Unsere Website hat in dieser Hinsicht gute Arbeit geleistet und ist ein A. In der Vergangenheit war unsere Homepage nicht A, da auf der Homepage viele Js durch Werbecodes platziert wurden. Die Js der Website des Eigentümers dieser Werbecodes waren nicht gzip-komprimiert, was auch unsere Website beeinträchtigen würde.
Die meisten der oben genannten drei Punkte sind serverseitige Inhalte, und ich habe nur ein oberflächliches Verständnis davon. Bitte korrigieren Sie mich, wenn ich falsch liege.
Artikel 5, Stylesheets oben auf der Seite platzieren
CSS oben auf der Seite platzieren. Denn Browser wie IE und Firefox rendern nichts, bis das gesamte CSS übertragen wurde. Der Grund ist so einfach wie das, was Bruder Ma gesagt hat. CSS, der vollständige Name lautet Cascading Style Sheets (kaskadierende Stylesheets). Kaskadierung bedeutet, dass das folgende CSS das vorherige CSS abdecken kann und dass CSS auf höherer Ebene CSS auf niedrigerer Ebene abdecken kann. In [css! wichtig] Diese hierarchische Beziehung wurde am Ende dieses Artikels kurz erwähnt. Hier müssen wir nur wissen, dass CSS überschrieben werden kann. Da das vorherige überschrieben werden kann, ist es für den Browser zweifellos sinnvoll, es nach dem vollständigen Laden wiederzugeben. In vielen Browsern, wie z. B. dem IE, besteht das Problem beim Platzieren des Stylesheets am Ende der Seite darin, dass dies verhindert wird Sequentielle Anzeige von Webinhalten. Der Browser blockiert die Anzeige, um ein Neuzeichnen von Seitenelementen zu vermeiden, und der Benutzer sieht nur eine leere Seite. Firefox blockiert die Anzeige nicht. Dies bedeutet jedoch, dass einige Seitenelemente nach dem Herunterladen des Stylesheets möglicherweise neu gezeichnet werden müssen, was zu Problemen mit dem Flackern führt. Deshalb sollten wir das CSS so schnell wie möglich laden lassen
Folgt man dieser Bedeutung, gibt es bei genauerer Betrachtung tatsächlich Bereiche, die optimiert werden können. Zum Beispiel die beiden auf dieser Website enthaltenen CSS-Dateien, 10 Tipps zur Verbesserung der Website-Leistungsentwicklung
Das obige ist der detaillierte Inhalt vonDetails zur Verbesserung der Website-Leistung durch PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!