{"id":23429,"date":"2016-08-19T13:04:00","date_gmt":"2016-08-19T13:04:00","guid":{"rendered":"https:\/\/site.axamit.com\/?p=615"},"modified":"2026-06-23T07:16:50","modified_gmt":"2026-06-23T07:16:50","slug":"wie-aktiviere-ich-den-aem-dispatcher-cache","status":"publish","type":"post","link":"https:\/\/axamit.com\/de\/blog\/adobe-experience-manager\/wie-aktiviere-ich-den-aem-dispatcher-cache\/","title":{"rendered":"Wie aktiviere ich den AEM Dispatcher Cache?"},"content":{"rendered":"<div class=\"custom-toc\"><ul><li class=\"h2-toc\"><a href=\"#renders\">Renderer<\/a><\/li><li class=\"h2-toc\"><a href=\"#filters\">Filter<\/a><\/li><li class=\"h2-toc\"><a href=\"#cache\">Cache<\/a><\/li><li class=\"h2-toc\"><a href=\"#headers\">Header<\/a><\/li><li class=\"h2-toc\"><a href=\"#summary\">Zusammenfassung<\/a><\/li><\/ul><\/div>\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Siehe auch:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/axamit.com\/blog\/adobe-experience-manager\/aem-dispatcher\/\" data-type=\"post\" data-id=\"2473\">Teil 1: Kurze \u00dcbersicht des Dispatchers und seiner Ziele<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Caching ist ein entscheidender Performance-Faktor und eine Quelle von Problemen, wenn es nicht korrekt eingerichtet ist. Dieser Artikel bietet eine \u00dcbersicht und n\u00fctzliche, praktische Details dazu, wie man Caching f\u00fcr eine lokale Entwicklungsumgebung anpasst und wo die zwischengespeicherten Dateien gespeichert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Was ist also Cache in AEM und wie funktioniert er?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cache in AEM ist eine Komponente, die Daten transparent speichert, damit zuk\u00fcnftige Anfragen f\u00fcr diese Daten schneller bedient werden k\u00f6nnen. Sobald ein cachebares Dokument angefordert wird, pr\u00fcft der Dispatcher, ob dieses Dokument im Dateisystem des Webservers vorhanden ist:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ist das Dokument zwischengespeichert, gibt der Dispatcher die Datei zur\u00fcck.<\/li>\n\n\n\n<li>Der Dispatcher fordert das Dokument von der AEM-Instanz an, wenn es nicht zwischengespeichert ist.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Standardm\u00e4\u00dfig werden Ressourcen nur zwischengespeichert, wenn alle der folgenden Bedingungen erf\u00fcllt sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die HTTP-Anfrage verwendet die GET-Methode;<\/li>\n\n\n\n<li>Die angeforderte URL hat eine Erweiterung (wie html oder .xml);<\/li>\n\n\n\n<li>Die angeforderte URL hat keinen Query-String (es gibt keine Parameter nach der Erweiterung);<\/li>\n\n\n\n<li>Die Anfrage hat keinen \u201eAuthorization\u201c-Header (es sei denn, AllowAuthorized ist 1).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die Einstellungen sind in der Dispatcher-Konfigurationsdatei definiert. In unserem Fall ist es eine conf\/dispatcher.any-Datei. Die Konfigurationsdatei enth\u00e4lt eine Reihe von Einzel- oder Mehrwert-Eigenschaften, die das Verhalten des Dispatchers steuern:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eigenschaftsnamen sind mit einem Schr\u00e4gstrich (\u201e\/\u201c) pr\u00e4fixiert;<\/li>\n\n\n\n<li>Mehrwert-Eigenschaften umschlie\u00dfen untergeordnete Elemente mit geschweiften Klammern (\u201e{}\u201c);<\/li>\n\n\n\n<li>Kommentare beginnen mit dem Symbol \u201e#\u201c.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"renders\">Renderer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zuerst m\u00fcssen Sie Renderer f\u00fcr den Dispatcher angeben. Renderer sind AEM-Instanzen, von denen der Dispatcher den Inhalt empf\u00e4ngt, der zwischengespeichert werden kann. Renderer sind das Erste, was wir in unserer Konfigurationsdatei definieren werden. Der Dispatcher wird die Last automatisch zwischen diesen AEM-Instanzen ausgleichen, wenn Sie mehr als einen Renderer definieren. In unserem Fall werden wir nur einen Renderer einstellen: die \u00f6ffentliche AEM-Instanz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/renders\n      {\n      \/rend01\n        {\n        \/hostname \"localhost\"\n        \/port \"4503\"\n        }\n      }\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sie k\u00f6nnen nun den\u00a0<strong>httpd<\/strong>\u00a0Server neu starten und \u00fcberpr\u00fcfen, ob der Dispatcher Ressourcen von einer \u00f6ffentlichen AEM-Instanz anfordern kann.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie beispielsweise eine funktionierende\u00a0http:\/\/localhost:4503\/content\/geometrixx\/en.html\u00a0Seite haben, sollte die Dispatcher-Version dieser Seite unter\u00a0http:\/\/localhost\/content\/geometrixx\/en.html\u00a0verf\u00fcgbar sein. Beachten Sie, dass wir den Port in der URL-Anfrage nicht setzen, da der Dispatcher (genauer gesagt, httpd) auf Port 80 arbeitet, was der Standard f\u00fcr alle Browser ist.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"filters\">Filter<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der\u00a0<strong>\/filter<\/strong>\u00a0Bereich spezifiziert HTTP-Anfragen, die der Dispatcher akzeptieren kann. Alle anderen Anfragen werden mit dem Fehlercode 404 (Seite nicht gefunden) an den Webserver zur\u00fcckgesendet. Lassen Sie uns f\u00fcr unser Demonstrationsbeispiel den Zugriff auf alle Ressourcen erlauben.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/filter\n      {\n      \/0001 { \/type \"allow\" \/glob \"*\" }\n      }\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Filtertypen: \u201eallow\u201c oder \u201edeny\u201c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Globs werden mit der gesamten Anfragelinie verglichen, z.B.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/0001 { \/type \"allow\" \/glob \"* \/index.html *\" }\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Glob stimmt mit der Anfrage \u201eGET \/index.html HTTP\/1.1\u201c \u00fcberein, aber nicht mit \u201eGET \/index.html?a=b HTTP\/1.1\u201c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anstelle von \u201eglobs\u201c k\u00f6nnen Sie separate \u201eurl\u201c, \u201emethod\u201c, \u201eprotocol\u201c, \u201eextension\u201c verwenden, um Ihren Filter zu definieren. Zus\u00e4tzlich zu \u201eurl\u201c k\u00f6nnen Sie \u201epath\u201c, \u201eselectors\u201c, \u201eextension\u201c, \u201esuffix\u201c verwenden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn eine Anfrage zu mehreren Filter-Mustern passt, wird nur das letzte Filter-Muster angewendet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem Sie Ihre Filter definiert haben, k\u00f6nnen Sie\u00a0<strong>httpd<\/strong>\u00a0neu starten und \u00fcberpr\u00fcfen, ob der Dispatcher Zugriff auf alle Ressourcen der \u00f6ffentlichen AEM-Instanz hat. In einer realen Produktionsumgebung sollten Sie aus Sicherheitsgr\u00fcnden nat\u00fcrlich den Zugriff auf einige Ressourcen verweigern.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"cache\">Cache<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Caching-Bereich bestimmt die Ressourcen, die der Dispatcher cachen wird. Dieser Bereich enth\u00e4lt viele Regeln, die den Filterregeln \u00e4hneln, mit einigen zus\u00e4tzlichen Einstellungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beispielsweise legt\u00a0<strong>\/docroot<\/strong>\u00a0den Speicherort des Verzeichnisses fest, in dem gecachte Dateien gespeichert werden. Der Wert muss genau dem Pfad des Dokumentenstamms des Webservers entsprechen, damit der Dispatcher und der Webserver dieselben Dateien verwalten k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr unsere Demonstration legen wir den Docroot fest und erlauben das Caching aller Ressourcen, die von unserem Renderer (Publish-Instanz) empfangen werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/cache\n      {\n      \/docroot \"\/Apache22\/htdocs\"\n      \/rules\n        {\n        \/0000\n          {\n          \/glob \"*\"\n          \/type \"allow\"\n          }\n        }\n      }\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem Sie diese \u00c4nderungen angewendet haben, k\u00f6nnen Sie den\u00a0<strong>HTTPd<\/strong>\u00a0-Server neu starten, ein neues privates Browserfenster f\u00fcr den unautorisierten Zugriff ohne Verwendung des \u201eAuthorization\u201c-Headers \u00f6ffnen (Chrome Strg+Umschalt+N, Firefox Strg+Umschalt+P) und zu:\u00a0http:\/\/localhost\/content\/geometrixx\/en\/products.html navigieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gecachte Ressourcen sollten im htdocs-Verzeichnis erscheinen. Ressourcen haben eine URL-\u00e4hnliche Hierarchie: Verzeichnisse bilden Pfade, und statische HTML-Dateien enthalten gerenderten Inhalt.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"headers\">Header<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sie wissen, dass gecachte HTML-Dateien nur HTML-Inhalt enthalten. Aber was sollen wir tun, wenn wir Antwort-Header cachen m\u00f6chten, die von Rendern empfangen werden?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn beispielsweise Antworten von Rendern einen \u201eContent-Type\u201c-Header enthalten, der die Kodierung definiert, wird der HTML-Inhalt ohne diesen Header m\u00f6glicherweise nicht korrekt angezeigt. Daf\u00fcr ist der\u00a0<strong>\/headers<\/strong>\u00a0-Block innerhalb der\u00a0<strong>\/cache<\/strong>\u00a0-Sektionen vorgesehen. Lassen Sie uns einige g\u00e4ngige und n\u00fctzliche Header cachen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/cache\n{\n      \/headers\n        {\n        \"Cache-Control\"\n        \"Content-Disposition\"\n        \"Content-Type\"\n        \"Expires\"\n        \"Last-Modified\"\n        \"X-Content-Type-Options\"\n        }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem Sie die Header in Ihrer Dispatcher-Konfigurationsdatei ge\u00e4ndert haben, l\u00f6schen Sie den gesamten Cache aus dem\u00a0<strong>htdocs<\/strong>\u00a0-Verzeichnis und starten Sie\u00a0<strong>httpd<\/strong>\u00a0neu. Anschlie\u00dfend k\u00f6nnen Sie\u00a0http:\/\/localhost\/content\/geometrixx\/en\/products.html \u00f6ffnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Schlie\u00dflich finden Sie nicht nur die gecachte HTML-Datei\u00a0<strong>products.html<\/strong>\u00a0im Verzeichnis htdocs\/content\/geometrixx\/en, sondern auch die Datei products.html.h neben der urspr\u00fcnglichen HTML-Datei\u00a0<strong>products.html<\/strong>. Diese *.h-Datei enth\u00e4lt die Header f\u00fcr die gecachte HTML-Datei.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"summary\">Zusammenfassung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sie k\u00f6nnen das Caching schnell mit den folgenden initialen Einstellungen in der Dispatcher-Konfigurationsdatei aktivieren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rendern einstellen;<\/li>\n\n\n\n<li>Filter einstellen;<\/li>\n\n\n\n<li>htdocs und Regeln f\u00fcr Cache-Sektionen einstellen;<\/li>\n\n\n\n<li>Header zum Speichern von HTTP-Headern einstellen.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-does-aem-dispatcher-cache-work-\">Wie funktioniert der AEM Dispatcher-Cache?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem ein anforderbares Dokument angefragt wurde, pr\u00fcft der Dispatcher, ob dieses Dokument im Dateisystem des Webservers vorhanden ist:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn das Dokument im Cache ist, gibt der Dispatcher die Datei zur\u00fcck. Der Dispatcher fordert das Dokument von der AEM-Instanz an, wenn es nicht im Cache ist.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-cache-in-aem-\">Was ist Cache in AEM?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cache in AEM ist eine Komponente, die Daten transparent speichert, damit zuk\u00fcnftige Anfragen nach diesen Daten schneller bedient werden k\u00f6nnen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-permission-sensitive-caching-in-aem-\">Was ist berechtigungssensitives Caching in AEM?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Berechtigungssensitives Caching in AEM erm\u00f6glicht es Ihnen, gesch\u00fctzte Seiten zu cachen. Der Dispatcher pr\u00fcft die Zugriffsrechte des Benutzers f\u00fcr eine Seite, bevor er die zwischengespeicherte Seite ausliefert.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Renderer Filter Cache Header Zusammenfassung Siehe auch: Caching ist ein entscheidender Performance-Faktor und eine Quelle von Problemen, wenn [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":5015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[156],"tags":[],"class_list":["post-23429","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adobe-experience-manager"],"acf":{"cta":"Give Us a Call","phone":"+1 (438) 383-6878","meta-description":"Erfahren Sie, welche Einstellungen in der Dispatcher-Konfigurationsdatei Sie verwenden sollten, um das Caching in AEM zu aktivieren, festzulegen, welche Ressourcen gecacht werden sollen, und wie sie gespeichert werden, um die Ladezeit Ihrer Website zu beschleunigen."},"_links":{"self":[{"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/posts\/23429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/comments?post=23429"}],"version-history":[{"count":1,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/posts\/23429\/revisions"}],"predecessor-version":[{"id":23430,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/posts\/23429\/revisions\/23430"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/media\/5015"}],"wp:attachment":[{"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/media?parent=23429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/categories?post=23429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/axamit.com\/de\/wp-json\/wp\/v2\/tags?post=23429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}