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.
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-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:
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.
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.
Das Implementieren von RESTful -API -Cache -Steuerung in PHP kann erreicht werden, indem HTTP -Headerinformationen festgelegt werden.
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.
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.
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.
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.