Sie können den Web Dispatcher so konfigurieren, dass die Inhalte (statisch und dynamisch) in den Cache eingelagert werden, so dass der nächste Request dieser Seite schnell aus dem Cache befriedigt werden kann.
Der SAP Web Dispatcher leitet die eingehenden Requests im Normalfall an einen Internet Communication Manager (ICM) weiter, der im SAP NetWeaver AS für Web-Anfragen zuständig ist. Im ICM existiert das Caching schon seit längerem.
Die Funktionsweise ist die selbe wie beim ICM Server-Cache mit Ausnahme der Invalidierung von Cache-Objekten. Die Caching-Semantik ist jedoch nicht die selbe.
Im Gegensatz zum ICM verwendet der Web Dispatcher nicht das SAP-proprietäre Cache-Protokoll über den Header sap-cache-control, sondern das Standard-HTTP-Header-Feld cache-control, von dessen zahlreichen Zusatz-Direktiven nach RFC2616 allerdings bisher nur max-age, als relative Verfallszeit (in Sekunden) unterstützt wird.
(Das sap-cache-Protokoll kann im Web Dispatcher nicht verwendet werden, da dieser ja im Gegensatz zum ICM mit seiner Direktverbindung zum Workprozess im Applikationsserver (Memory Pipes) keine Möglichkeit zum aktiven Invalidieren der Inhalte hat. Wie bei anderen Web-Caches auch, ist der Web Dispatcher daher auf passive Invalidierung mit Hilfe von einer Verfallszeit (max-age) angewiesen.)
Der Vorteil vom Caching im Web Dispatcher gegenüber dem Caching im ICM besteht darin, dass der Cache direkt am Einstiegspunkt, wo alle Requests ankommen, sitzt und somit alle nachgeschalteten Backend-Server und deren Netzverbindungen entlastet werden
Eine Anwendung, die den Cache im Web Dispatcher verwenden will, muss also das Standard-HTTP-Headerfeld verwenden. Dies empfiehlt sich für statische Seiten, Bilder und andere große Objekte.
Empfehlung
Für das Caching von dynamischen Seiten wird der ICM Server-Cache empfohlen, der die aktive Invalidierung durch die Anwendung erlaubt (vgl. Invalidierung von im Cache liegenden Objekten).
In der Standardeinstellung ist das Caching im Web Dispatcher ausgeschaltet.
Sie aktivieren das Caching, indem Sie im Profil des Web Dispatchers mit dem Parameter icm/HTTP/server_cache_0 ein URL-Präfix und eine Cache-Verzeichnis angeben.
Weitere Informationen: icm/HTTP/server_cache_<xx>
Sie können das zu verwendende Caching-Protokoll explizit vorgeben, indem Sie den Profilparameter
icm/HTTP/server_cache_0/http_cache_control = [true | false]
setzen.
Dieser ist im ICM und Web Dispatcher jeweils passend voreingestellt:
Default im ICM ist false: das proprietäre sap-cache-controlwird verwendet.
Default im Web Dispatcher ist true: das Standardprotokoll cache-control wird verwendet
Hinweis
Sie sollten die voreingestellten Werte nur im Notfall ändern, falls es etwa mit dem neuen Verhalten zu Abwärtsinkomaptibilitäten kommen sollte.