Heim Backend-Entwicklung PHP-Tutorial Sprechen Sie über CDN-Caching

Sprechen Sie über CDN-Caching

Sep 07, 2017 am 10:24 AM
um 缓存

1. Was ist CDN?

Wenn es um die Rolle von CDN geht, können Sie 8 Jahre Erfahrung im Kauf von Bahntickets nutzen, um es zu beschreiben:

Vor acht Jahren gab es keine Bahnticketagentur und 12306. cn war es umso mehr. Zu dieser Zeit konnten Bahntickets nur an der Kasse des Bahnhofs gekauft werden, und der kleine Landkreis, in dem ich lebte, hatte keinen Zugang zu Zügen. Bahntickets mussten am Bahnhof in der Stadt gekauft werden, und das dauerte 4 Stunden Hin- und Rückfahrt vom Landkreis in die Stadt. Die Fahrt ist Lebensverschwendung. Später wurde es besser, in der kleinen Kreisstadt Züge zu kaufen, was für die Menschen in der Stadt viel bequemer ist .

CDN kann als die in jedem Landkreis verteilten Bahnticketverkaufsstellen verstanden werden. Wenn der Benutzer die Website durchsucht, wählt das CDN einen CDN-Edge-Knoten aus, der dem Benutzer am nächsten liegt, um auf die Anfrage des Benutzers zu reagieren , Hainan Mobile Die Anfrage des Benutzers gelangt nicht bis zum Server im Computerraum von Beijing Telecom (vorausgesetzt, die Ursprungsseite wird im Computerraum von Beijing Telecom bereitgestellt).

Die Vorteile von CDN liegen auf der Hand: (1) CDN-Knoten lösen das Problem des betreiber- und überregionalen Zugriffs und die Zugriffsverzögerung wird erheblich reduziert. (2) Die meisten Anfragen werden an CDN-Edge-Knoten abgeschlossen , und CDN spielt eine Rolle. Die Offloading-Funktion reduziert die Belastung der Ursprungsseite.

2. Was ist Cache?

In diesem Artikel wird weder auf die High-Level-Architektur hinter CDN eingegangen, noch wird darauf eingegangen, wie CDN globale Verkehrsplanungsstrategien erreicht. Dieser Artikel konzentriert sich auf die Art und Weise, wie Daten nach der Installation von CDN zwischengespeichert werden. Caching ist ein allgegenwärtiges Beispiel für den Tausch von Raum gegen Zeit. Durch die Nutzung des zusätzlichen Platzes können wir höhere Geschwindigkeiten erreichen.
Lassen Sie uns zunächst einen Blick darauf werfen, wie der Browser des Benutzers mit dem Server interagiert, wenn keine Website mit dem CDN verbunden ist:
Sprechen Sie über CDN-Caching
Wenn der Benutzer die Website durchsucht, kann der Browser den Inhalt speichern Kopien von Bildern oder anderen Dateien lokal speichern, sodass der Browser beim erneuten Besuch der Website nicht alle Dateien herunterladen muss.
Wenn in der Mitte eine CDN-Schicht hinzugefügt wird, ist die Interaktion zwischen dem Browser des Benutzers und dem Server wie folgt:
Sprechen Sie über CDN-Caching
Der Client-Browser prüft zunächst, ob der lokale Cache abgelaufen ist Wenn der Cache abgelaufen ist, wird er an den Rand des CDN gesendet. Der Knoten initiiert eine Anfrage, und der CDN-Randknoten erkennt, ob der Cache der vom Benutzer angeforderten Daten abgelaufen ist. Wenn er nicht abgelaufen ist, antwortet er direkt auf die Anfrage des Benutzers Dieses Mal endet eine abgeschlossene HTTP-Anfrage. Wenn die Daten abgelaufen sind, muss das CDN auch eine Antwortnachricht an die Ursprungsseite senden (zurück zur Quellanforderung), um die neuesten Daten abzurufen. Das typische Topologiediagramm von CDN sieht wie folgt aus:
Sprechen Sie über CDN-Caching
Es ist ersichtlich, dass in dem Szenario, in dem CDN vorhanden ist, die Daten zwei Phasen durchlaufen haben: Client-(Browser-)Caching und CDN-Edge-Knoten-Caching. Im Folgenden sind die beiden Phasen aufgeführt: Detaillierte Analyse der beiden Phasen des Caching
2. Client-(Browser-)Caching

  • Nachteile des Client-Caching

Clientseitiges Caching reduziert Serveranfragen, vermeidet wiederholtes Laden von Dateien und verbessert die Benutzerleistung erheblich. Wenn jedoch die Website aktualisiert wird (z. B. CSS-, JS- und Bilddateien werden ersetzt), wird die alte Version der Datei immer noch lokal im Browser gespeichert, was zu unvorhersehbaren Folgen führt.

Es war einmal, als eine Seite geladen wurde, die Positionen der Elemente auf der Seite wanderten und das Klicken auf Schaltflächen fehlschlug. Der Front-End-GG fragte gewöhnlich: „Wurde der Cache geleert?“ , dann Strg+F5, Alles ist in Ordnung. Aber manchmal, wenn wir einfach die Eingabetaste in der Adressleiste des Browsers drücken oder zum Aktualisieren einfach F5 drücken, ist das Problem immer noch nicht gelöst. Wussten Sie, dass diese drei verschiedenen Betriebsmethoden bestimmen, wie der Browser den Cache aktualisiert?

Wie bestimmt der Browser, ob eine lokale Datei oder eine neue Datei auf dem Server verwendet werden soll? Hier sind verschiedene Methoden der Beurteilung.

  • Browser-Cache-Richtlinie

Läuft ab

Läuft ab:Sa, 24. Januar 2015 20:30:54 GMT
Sprechen Sie über CDN-Caching
Wenn Expires in der HTTP-Antwortnachricht festgelegt ist, vermeiden wir die Verbindung zum Server, bevor Expires abläuft. Zu diesem Zeitpunkt muss der Browser keine Anfrage an den Browser senden. Er muss lediglich feststellen, ob das vorhandene Material abgelaufen ist. Es besteht überhaupt keine Notwendigkeit, die Belastung des Servers zu erhöhen.
Cache-Kontrolle: max-age
Sprechen Sie über CDN-Caching
Die Expires-Methode ist sehr gut, aber wir müssen jedes Mal eine genaue Zeit berechnen. Das Tag „max-age“ erleichtert uns den Umgang mit Ablaufzeiten. Es genügt zu sagen, dass Sie diese Informationen nur eine Woche lang nutzen können.

Das maximale Alter wird in Sekunden gemessen, z. B.:
Cache-Control:max-age=645672
Die angegebene Seite läuft in 645672 Sekunden (7,47 Tage) ab.
Zuletzt geändert
Um den Browser über die aktuelle Dateiversion zu informieren, sendet der Server ein Tag mit der Zeit der letzten Änderung, zum Beispiel:
Zuletzt geändert:Di , 06. Januar 2015 08:26:32 GMT
Sprechen Sie über CDN-Caching
Auf diese Weise erkennt der Browser die Erstellungszeit der empfangenen Datei. Bei nachfolgenden Anfragen überprüft der Browser die folgenden Regeln:
1. Host durchsuchen: Hey, ich brauche die Datei jquery.min.js, wenn sie nach Dienstag, 06. Januar 2015, 08:26:32 Uhr GMT geändert wurde.
2. Server: (Überprüfen Sie den Änderungszeitpunkt der Datei)
3. Hey, diese Datei wurde nach diesem Zeitpunkt nicht geändert, Sie haben bereits die neueste Version.
4. Browser: Großartig, dann zeige ich es dem Benutzer.
In diesem Fall gibt der Server nur einen 304-Antwortheader zurück, was die Menge der Antwortdaten reduziert und die Antwortgeschwindigkeit verbessert. Informationen zur 304-Antwort finden Sie unter:
http://www.cnblogs.com/ziyunfei/archive/2012/11/17/2772729.html
Das Bild unten zeigt die Seite, die danach einen 304-Antwortheader zurückgibt Drücken Sie F5, um die Seite zu aktualisieren.
Sprechen Sie über CDN-Caching
ETag
Oft funktioniert der Vergleich von Dateien nach Änderungszeit. Unter bestimmten Umständen, beispielsweise wenn die Serveruhr falsch ist, die Serveruhr geändert wurde oder die Serverzeit nicht rechtzeitig nach der Sommerzeit aktualisiert wurde, kann es jedoch zu Problemen beim Vergleich von Dateiversionen anhand der geänderten Zeit kommen.

ETag kann verwendet werden, um dieses Problem zu lösen. ETag ist eine eindeutige Kennung einer Datei. Wie ein Hash oder ein Fingerabdruck verfügt jede Datei über eine individuelle Signatur, die sich bei jeder Dateiänderung ändert.

Der Server gibt das ETag-Tag zurück:
ETag:“39001d-1762a-50bf790757e00“
Sprechen Sie über CDN-Caching
Die nächste Zugriffssequenz ist wie folgt:
- Browser: Hey, ich brauche die Datei jquery.min.js. Gibt es etwas, das nicht mit der Zeichenfolge „39001d-1762a-50bf790757e00“ übereinstimmt? - Server: (ETag prüfen...)
- Server: Hey, die Version, die ich hier habe, ist auch „39001d-1762a-50bf790757e00“, du bist bereits die neueste Version
- Browser: OK, dann können Sie den lokalen Cache verwenden
Wie Last-modified löst ETag das Problem des Dateiversionsvergleichs. Es ist nur so, dass die Ebene von ETag höher ist als die von Last-Modified.

Zusätzliche Tags Caching-Tags funktionieren nie, aber manchmal brauchen wir eine gewisse Kontrolle darüber, was zwischengespeichert wurde.
l Cache-Kontrolle: öffentlich bedeutet, dass die zwischengespeicherte Version von Proxyservern oder anderen Zwischenservern erkannt werden kann.
l Cache-Kontrolle: privat bedeutet, dass diese Datei für verschiedene Benutzer unterschiedlich ist. Nur der eigene Browser des Benutzers kann zwischenspeichern, öffentliche Proxyserver erlauben kein Zwischenspeichern.
l Cache-Kontrolle: Kein Cache bedeutet, dass der Inhalt der Datei nicht zwischengespeichert werden soll. Dies ist bei Suchergebnissen oder beim Umblättern von Seiten sehr nützlich, da sich der entsprechende Inhalt für dieselbe URL ändert.

Sprechen Sie über CDN-Caching - Browser-Cache-Aktualisierung

  • Geben Sie die URL in die Adressleiste ein und drücken Sie die Eingabetaste oder klicken Sie auf die Schaltfläche „Los“

    Der Browser ruft die Daten der Webseite mit der geringsten Anfrage ab und die Der Browser verwendet den lokalen Cache direkt für alle Inhalte, die nicht abgelaufen sind, wodurch die Anforderungen an den Browser reduziert werden. Daher sind die Tags „Expires“ und „Max-Age“ nur für diese Methode gültig.

  • Drücken Sie F5 oder die Browser-Aktualisierungsschaltfläche

    Der Browser hängt die erforderliche Cache-Aushandlung an die Anfrage an, lässt jedoch nicht zu, dass der Browser den lokalen Cache direkt verwendet, was möglich ist Last-Modified , ETag funktioniert, hat aber keine Auswirkung auf Expires.

  • Drücken Sie Strg+F5 oder drücken Sie Strg und klicken Sie auf die Schaltfläche „Aktualisieren“

    Diese Methode besteht darin, die Aktualisierung zu erzwingen und immer eine neue Anfrage zu initiieren, ohne einen Cache zu verwenden.

  • CDN-Cache

Nachdem der lokale Cache des Browsers abgelaufen ist, initiiert der Browser eine Anfrage an den CDN-Edge-Knoten. Ähnlich wie das Browser-Caching verfügen auch CDN-Edge-Knoten über einen Caching-Mechanismus.

  • Nachteile des CDN-Caching

Der Offloading-Effekt von CDN reduziert nicht nur die Zugriffsverzögerung des Benutzers, sondern auch die Belastung der Ursprungsseite . Die Mängel liegen jedoch auch auf der Hand: Wenn die Website aktualisiert wird und die Daten auf dem CDN-Knoten nicht rechtzeitig aktualisiert werden, wird der CDN-Edge-Knoten nicht synchronisiert, selbst wenn der Benutzer im Browser Strg + F5 verwendet, um den Browser-Cache ungültig zu machen Die neuesten Daten verursachen Ausnahmen beim Benutzerzugriff.

  • CDN-Caching-Strategie

CDN-Edge-Knoten-Caching-Strategien variieren von Dienstanbieter zu Dienstanbieter, folgen jedoch im Allgemeinen dem http-Standardprotokoll und legen CDN-Edge-Knotendaten über das Feld „Cache-control: max-age“ in der http-Antwort fest Header. Cache-Zeit.

Wenn der Client Daten vom CDN-Knoten anfordert, ermittelt der CDN-Knoten, ob die zwischengespeicherten Daten abgelaufen sind. Wenn die zwischengespeicherten Daten nicht abgelaufen sind, werden die zwischengespeicherten Daten andernfalls direkt an den Client zurückgegeben Der CDN-Knoten sendet die zwischengespeicherten Daten an die Quelle. Die Site gibt eine Return-to-Origin-Anfrage aus, ruft die neuesten Daten von der Ursprungssite ab, aktualisiert den lokalen Cache und gibt die neuesten Daten an den Client zurück.

CDN-Dienstanbieter bieten im Allgemeinen mehrere Dimensionen basierend auf Dateisuffix und Verzeichnis an, um die CDN-Cache-Zeit anzugeben und Benutzern eine verfeinerte Cache-Verwaltung zu bieten.

CDN-Cache-Zeit hat einen direkten Einfluss auf die „Rücklaufquote“. Wenn die CDN-Cache-Zeit kurz ist, kommt es häufig zu Datenfehlern auf den CDN-Edge-Knoten, was zu häufigen Rücksendungen zum Ursprung führt, was die Belastung der Ursprungsseite erhöht und auch die Zugriffsverzögerung erhöht; , Datenaktualisierungen werden auftreten. Entwickler müssen bestimmte Unternehmen hinzufügen, um ein bestimmtes Daten-Cache-Zeitmanagement durchzuführen.

  • CDN-Cache-Aktualisierung

CDN-Edge-Knoten sind für Entwickler transparent, verglichen mit der erzwungenen Aktualisierung des Browsers Strg+F5, wenn der Browser lokal ist Wenn der Cache ungültig ist, können Entwickler den CDN-Edge-Knoten-Cache über die vom CDN-Dienstanbieter bereitgestellte Schnittstelle „Cache aktualisieren“ löschen. Auf diese Weise können Entwickler mithilfe der Funktion „Cache aktualisieren“ erzwingen, dass der Datencache auf dem CDN-Knoten nach der Aktualisierung der Daten abläuft, und so sicherstellen, dass der Client beim Zugriff die neuesten Daten abrufen kann.

Das obige ist der detaillierte Inhalt vonSprechen Sie über CDN-Caching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wo werden Videodateien im Browser-Cache gespeichert? Wo werden Videodateien im Browser-Cache gespeichert? Feb 19, 2024 pm 05:09 PM

In welchem ​​Ordner speichert der Browser das Video? Wenn wir den Internetbrowser täglich nutzen, schauen wir uns häufig verschiedene Online-Videos an, z. B. Musikvideos auf YouTube oder Filme auf Netflix. Diese Videos werden während des Ladevorgangs vom Browser zwischengespeichert, sodass sie bei späterer erneuter Wiedergabe schnell geladen werden können. Die Frage ist also: In welchem ​​Ordner werden diese zwischengespeicherten Videos tatsächlich gespeichert? Verschiedene Browser speichern zwischengespeicherte Videoordner an unterschiedlichen Orten. Im Folgenden stellen wir einige gängige Browser und deren Funktionen vor

So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn So zeigen Sie den DNS-Cache unter Linux an und aktualisieren ihn Mar 07, 2024 am 08:43 AM

DNS (DomainNameSystem) ist ein System, das im Internet verwendet wird, um Domänennamen in entsprechende IP-Adressen umzuwandeln. In Linux-Systemen ist DNS-Caching ein Mechanismus, der die Zuordnungsbeziehung zwischen Domänennamen und IP-Adressen lokal speichert, was die Geschwindigkeit der Domänennamenauflösung erhöhen und die Belastung des DNS-Servers verringern kann. DNS-Caching ermöglicht es dem System, die IP-Adresse schnell abzurufen, wenn es anschließend auf denselben Domänennamen zugreift, ohne jedes Mal eine Abfrageanforderung an den DNS-Server senden zu müssen, wodurch die Netzwerkleistung und -effizienz verbessert wird. In diesem Artikel erfahren Sie, wie Sie den DNS-Cache unter Linux anzeigen und aktualisieren, sowie zugehörige Details und Beispielcode. Bedeutung des DNS-Cachings In Linux-Systemen spielt das DNS-Caching eine Schlüsselrolle. seine Existenz

Beschleunigen Sie Ihre Anwendungen: Eine einfache Anleitung zum Guava-Caching Beschleunigen Sie Ihre Anwendungen: Eine einfache Anleitung zum Guava-Caching Jan 31, 2024 pm 09:11 PM

Erste Schritte mit Guava Cache: Beschleunigen Sie Ihre Anwendungen. Guava Cache ist eine leistungsstarke In-Memory-Caching-Bibliothek, die die Anwendungsleistung erheblich verbessern kann. Es bietet eine Vielzahl von Caching-Strategien, darunter LRU (zuletzt verwendet), LFU (zuletzt verwendet) und TTL (Lebensdauer). 1. Installieren Sie den Guava-Cache und fügen Sie Ihrem Projekt die Abhängigkeit der Guava-Cache-Bibliothek hinzu. com.goog

Werden HTML-Dateien zwischengespeichert? Werden HTML-Dateien zwischengespeichert? Feb 19, 2024 pm 01:51 PM

Titel: Caching-Mechanismus und Codebeispiele für HTML-Dateien. Einführung: Beim Schreiben von Webseiten stoßen wir häufig auf Probleme mit dem Browser-Cache. In diesem Artikel wird der Caching-Mechanismus von HTML-Dateien ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diesen Mechanismus besser zu verstehen und anzuwenden. 1. Browser-Caching-Prinzip Im Browser prüft der Browser bei jedem Zugriff auf eine Webseite zunächst, ob sich eine Kopie der Webseite im Cache befindet. Wenn dies der Fall ist, wird der Inhalt der Webseite direkt aus dem Cache abgerufen. Dies ist das Grundprinzip des Browser-Caching. Vorteile des Browser-Caching-Mechanismus

So speichern Sie Videodateien aus dem Browser-Cache lokal So speichern Sie Videodateien aus dem Browser-Cache lokal Feb 23, 2024 pm 06:45 PM

So exportieren Sie Browser-Cache-Videos Mit der rasanten Entwicklung des Internets sind Videos zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Beim Surfen im Internet stoßen wir oft auf Videoinhalte, die wir speichern oder teilen möchten, aber manchmal können wir die Quelle der Videodateien nicht finden, weil sie möglicherweise nur im Cache des Browsers vorhanden sind. Wie exportieren Sie also Videos aus Ihrem Browser-Cache? In diesem Artikel werden Ihnen mehrere gängige Methoden vorgestellt. Zunächst müssen wir ein Konzept klären, nämlich den Browser-Cache. Der Browser-Cache wird vom Browser verwendet, um die Benutzererfahrung zu verbessern.

Erweiterte Verwendung von PHP APCu: Die verborgene Kraft freisetzen Erweiterte Verwendung von PHP APCu: Die verborgene Kraft freisetzen Mar 01, 2024 pm 09:10 PM

PHPAPCu (Ersatz für PHP-Cache) ist ein Opcode-Cache- und Daten-Cache-Modul, das PHP-Anwendungen beschleunigt. Das Verständnis seiner erweiterten Funktionen ist entscheidend, um sein volles Potenzial auszuschöpfen. 1. Batch-Betrieb: APCu bietet eine Batch-Betriebsmethode, mit der eine große Anzahl von Schlüssel-Wert-Paaren gleichzeitig verarbeitet werden kann. Dies ist nützlich für umfangreiche Cache-Löschvorgänge oder Aktualisierungen. //Cache-Schlüssel stapelweise abrufen $values=apcu_fetch(["key1","key2","key3"]); //Cache-Schlüssel stapelweise löschen apcu_delete(["key1","key2","key3"]) ;2 .Cache-Ablaufzeit festlegen: Mit APCu können Sie eine Ablaufzeit für Cache-Elemente festlegen, sodass diese nach einer bestimmten Zeit automatisch ablaufen.

Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung May 09, 2024 pm 01:30 PM

In der PHP-Entwicklung verbessert der Caching-Mechanismus die Leistung, indem er häufig aufgerufene Daten vorübergehend im Speicher oder auf der Festplatte speichert und so die Anzahl der Datenbankzugriffe reduziert. Zu den Cache-Typen gehören hauptsächlich Speicher-, Datei- und Datenbank-Cache. In PHP können Sie integrierte Funktionen oder Bibliotheken von Drittanbietern verwenden, um Caching zu implementieren, wie zum Beispiel Cache_get() und Memcache. Zu den gängigen praktischen Anwendungen gehören das Zwischenspeichern von Datenbankabfrageergebnissen zur Optimierung der Abfrageleistung und das Zwischenspeichern von Seitenausgaben zur Beschleunigung des Renderings. Der Caching-Mechanismus verbessert effektiv die Reaktionsgeschwindigkeit der Website, verbessert das Benutzererlebnis und reduziert die Serverlast.

Ein tiefer Einblick in die PHP-Caching-Technologie: Der Schlüssel zur Beschleunigung der Website-Leistung Ein tiefer Einblick in die PHP-Caching-Technologie: Der Schlüssel zur Beschleunigung der Website-Leistung Jan 23, 2024 am 08:37 AM

Erkundung der PHP-Caching-Technologie: ein leistungsstarkes Tool zur Verbesserung der Website-Leistung, spezifische Codebeispiele sind erforderlich. Einführung: Angesichts der rasanten Entwicklung des heutigen Internets ist die Website-Leistung von entscheidender Bedeutung für das Benutzererlebnis und das Suchmaschinen-Ranking. Als häufig verwendete Programmiersprache wird PHP häufig in der Website-Entwicklung eingesetzt. Wie die Leistung von PHP-Websites verbessert werden kann, ist für Entwickler zu einem dringenden Problem geworden. Eine der sehr wichtigen Lösungen ist die Verwendung der PHP-Caching-Technologie. In diesem Artikel werden das Konzept und die spezifische Technologie des PHP-Caching untersucht und Codebeispiele bereitgestellt, um den Lesern das Verständnis zu erleichtern

See all articles