Aktueller Standort: Startseite> Neueste Artikel> PHP implementiert RESTFOR API Cache Control: Best Practices zur Verbesserung der Leistung

PHP implementiert RESTFOR API Cache Control: Best Practices zur Verbesserung der Leistung

gitbox 2025-07-30

Was ist die Cache -Kontrolle der erholsamen API?

RESTful API ist ein Schnittstellenstil, der auf der Implementierung des HTTP -Protokolls basiert. Es trennt die Kennung der Ressource und den Status der Ressource und erleichtert die Interaktion zwischen dem Client und dem Server. Bei der Verwendung der erholsamen API spielt Cache eine wichtige Rolle bei der Leistungsoptimierung. Die Cache -Steuerung bezieht sich auf die Einstellung von HTTP -Headern auf dem Server, um dem Client mitzuteilen, wie er Cache und Cache verwendet.

RESTful-API-Cache-kontrollierte HTTP-Header

HTTP -Header sind Teil von HTTP -Anforderungen und -Antaktionen und enthalten Informationen zu Antwortinhalt, Cache -Steuerung, Authentifizierung usw. Bei der Steuerung der RESTful -API -Cache -Steuerung sind häufig verwendete HTTP -Header:

Cache-Kontroll

Cache-Control ist ein neuer Befehl, der in HTTP/1.1 hinzugefügt wurde, um das Cache-Verhalten von Clientanforderungen, Proxy-Server-Caches und Serverantworten zu steuern. Gemeinsame Werte sind wie folgt:

  • Öffentlich : Die Antwort kann von jedem Mittelsmann (wie einem Proxy -Server) zwischengespeichert werden.
  • Privat : Die Antwort kann nur von einem einzelnen Benutzer (z. B. Browser -Cache) zwischengespeichert werden.
  • No-Cache : bedeutet, dass der Client und alle Caches zuerst die Gültigkeit des Cache auf den Server überprüfen müssen und der Cache nicht direkt verwendet werden kann.
  • No-Store : bedeutet, dass die Antwort nicht zwischengespeichert werden kann.
  • S-Maxage : Der Proxy-Server reicht die Überlebenszeit mit einer Priorität höher als das maximale Alter.
  • Maximales Alter : Die Zeit (Sekunden) der von der Reaktion zwischengespeicherten Antwort, die nach dieser Zeit abgelaufen wird.

ETAG

ETAG ist ein Entity -Tag im HTTP -Antwortheader, der den Status der aktuellen Ressource identifiziert. Bei Anfrage sendet der Client den zuvor erhaltenen ETAG-Wert an den Server über den Header mit IF-None-Match. Der Server vergleicht, ob der ETAG -Wert konsistent ist. Wenn es konsistent ist, gibt es eine 304 nicht modifizierte Antwort zurück. Der Client kann den Cache direkt verwenden.

Lastmodifiziert

Last-modifiziert ist ein Datumszeitwert im HTTP-Antwortheader, der die letzte modifizierte Zeit der aktuellen Ressource identifiziert. Bei Anfrage sendet der Client den zuvor erhaltenen Datum und Uhrwert über den Header mit if-modifizierter Sinne an den Server. Der Server vergleicht, ob Datum und Uhrzeit konsistent sind. Wenn es konsistent ist, gibt es eine 304 nicht modifizierte Antwort zurück. Der Client kann den Cache direkt verwenden.

Implementierung der Cache -Steuerung der erholsamen API in PHP

Das Implementieren von RESTful -API -Cache -Steuerung in PHP kann erreicht werden, indem HTTP -Headerinformationen festgelegt werden.

Einrichten des Cache-Kontroll-Headers

Sie können den Cache-Kontroll-Header durch die Header-Funktion auf dem Server einstellen. Der Code lautet wie folgt:

 
$maxAge = 600; // Cache600Zweite
header('Cache-Control: public, max-age=' . $maxAge);

Der obige Code legt den Cache-Control-Header in die Öffentlichkeit fest, was darauf hinweist, dass die Antwort von jedem Mittelsmann (wie einem Proxy-Server) zwischengespeichert werden kann und die maximale Cache-Zeit 600 Sekunden beträgt.

ETAG -Header einrichten

Sie können den ETAG -Header über die Header -Funktion auf dem Server einstellen. Der Code ist wie folgt:

 
$etag = md5($responseBody); // Generieren Sie Entitäts -Tags basierend auf dem Antwortinhalt
header('ETag: ' . $etag);

Der obige Code generiert ein ETAG -Tag basierend auf dem Antwortinhalt und legt es als Teil des Antwortheaders fest.

Last-modifizierter Header einstellen

Der zuletzt modifizierte Header kann über die Header-Funktion auf dem Server eingestellt werden, und der Code lautet wie folgt:

 
$lastModifiedTime = filemtime($filePath); // Erhalten Sie die letzte Änderungszeit der Datei
$lastModified = gmtdate('r', $lastModifiedTime);
header('Last-Modified: ' . $lastModified);

Der obige Code übernimmt die letzte Änderungszeit der Datei, konvertiert ihn in das GMT -Format und legt sie dann als Teil des Antwortheaders fest.

Zusammenfassen

Die Cache -Steuerung der erholsamen API kann die Anwendungsleistung erheblich verbessern und Anforderungen und Antworten auf Serverressourcen reduzieren. Bei der Implementierung der Cache -Steuerung der erholsamen API können wir HTTP -Header einrichten, um dem Client mitzuteilen, wie er Cache und Cache verwenden. Der HTTP-Header enthält wichtige Informationen wie Cache-Control, ETAG und Last-modifiziert. Der Client kann diese Informationen verwenden, um festzustellen, ob die Cache -Antwort direkt verwendet werden kann.