Quali richieste e risposte HTTP AEM la cache del Dispatcher? (AEM Dispatcher 4.3.3)
La documentazione descrive gli scenari più importanti che influiscono sulla cache-ability delle richieste e delle risposte che passano attraverso il modulo AEM Dispatcher. Tutte le regole della cache non sono coperte.
Regole di richiesta e memorizzazione in cache HTTP:
Affinché una richiesta HTTP possa essere memorizzata nella cache da Dispatcher, deve rispettare le seguenti regole.
1. L’URL È ASSOLUTO (NON INIZIA CON . OPPURE …), DISPONE DI UN'ESTENSIONE FILE E IL NOME DEL FILE NELL'URL FUNZIONA COME FILE SUL FILE SYSTEM.
Messaggi di registro correlati:
URI not canonical: %s. Unable to map URI to file : %s. cache file path too long temporary file path too long request URL has no extension |
---|
Esempi:
/content/test |
non memorizzato nella cache |
---|---|
/content/test.html |
memorizzato in cache |
2. NON HA SCHIAVI DOPO LA PRIMA ESTENSIONE DEL FILE.
Messaggi di registro correlati:
request URL has trailing slash |
---|
Esempi:
/content/test.html/ |
non memorizzato nella cache |
---|---|
/content/test.html/foo.jpg |
non memorizzato nella cache |
/content/test.html |
memorizzato in cache |
3. UTILIZZA IL METODO HTTP GET O HEAD.
Messaggi di registro correlati:
request method is neither GET nor HEAD |
---|
Esempi:
HEAD /content/test.html HTTP/1.1 |
memorizzato in cache |
---|---|
GET /content/dam/test.jpg HTTP/1.1 |
non memorizzato nella cache |
POST /content/test.html HTTP/1.1 |
non memorizzato nella cache |
4. LA RICHIESTA È NEGATA DA /CACHE = /RULES DEFINITA NEL DISPATCHER .ANY FARM CONFIGURATION.
Messaggi di registro correlati:
URI not in cache rules: %s request URL not in cache rules |
---|
Esempi:
Farm has /cache = /rules e viene ricevuta una richiesta per /content/test.html /cache &parentesi graffa; … /rules &parentesi graffa; /0001 &parentesi graffa; digitare "deny" glob "*" &parentesi graffa; &parentesi graffa; |
non memorizzato nella cache |
---|---|
Farm has /cache = /rules e viene ricevuta una richiesta per /content/test.html /cache &parentesi graffa; … /rules &parentesi graffa; /0001 &parentesi graffa; digitare "allow" glob "*" &parentesi graffa; &parentesi graffa; |
memorizzato in cache |
5. LA RICHIESTA HTTP NON CONTIENE UN'INTESTAZIONE DI AUTORIZZAZIONE O CONTIENE L'INTESTAZIONE MA /ALLOWAUTHORIZED È IMPOSTATO SU 1 NELLA CONFIGURAZIONE FARM.
Messaggi di registro correlati:
request contains authorization |
---|
Esempi:
Richiesta HTTP: GET /content/test.html HTTP/1.1 Autorizzazione: Base YWxhZGRpbjpvcGVuc2VzYW1l farm /cache di dispatcher.any = /allowAuthorized configuration: /cache &parentesi graffa; /allowAuthorized "0" &parentesi graffa; |
non memorizzato nella cache |
---|---|
Richiesta HTTP: GET /content/test.html HTTP/1.1 Autorizzazione: Base YWxhZGRpbjpvcGVuc2VzYW1l farm /cache di dispatcher.any = /allowAuthorized configuration: /cache &parentesi graffa; /allowAuthorized "1" &parentesi graffa; |
memorizzato in cache |
6. LA RICHIESTA HTTP CONTIENE IL TOKEN DI ACCESSO O IL COOKIE DI AUTORIZZAZIONE NELL’INTESTAZIONE COOKIE O CONTIENE (O ENTRAMBE) DI TALI COOKIE E /ALLOWAUTHORIZED È IMPOSTATO SU 1 NELLA CONFIGURAZIONE FARM.
Messaggi di registro correlati:
request contains authorization |
---|
Esempi:
Messaggio di registro correlato:
Esempi:
Richiesta HTTP: GET /content/test.html HTTP/1.1 Cookie: login-token=… farm /cache di dispatcher.any = /allowAuthorized configuration: /cache &parentesi graffa; /allowAuthorized "0" &parentesi graffa; |
non memorizzato nella cache |
---|---|
Richiesta HTTP: GET /content/test.html HTTP/1.1 Cookie: authorization=YWxhZGRpbjpvcGVuc2VzYW1l farm /cache di dispatcher.any = /allowAuthorized configuration: /cache &parentesi graffa; /allowAuthorized "0" &parentesi graffa; |
non memorizzato nella cache |
Richiesta HTTP: GET /content/test.html HTTP/1.1 Cookie: login-token=… farm /cache di dispatcher.any = /allowAuthorized configuration: /cache &parentesi graffa; /allowAuthorized "1" &parentesi graffa; |
memorizzato in cache |
7. NELL’URL È PRESENTE UN PARAMETRO DI QUERYSTRING E IL PARAMETRO PUÒ ESSERE IGNORATO TRAMITE LA CONFIGURAZIONE /IGNOREURLPARAMS DELLA FARM.
Messaggi di registro correlati:
request contains a query string |
---|
Esempi:
Richiesta HTTP: GET /content/test.html?test=1 HTTP/1.1 Configurazione farm /cache: /ignoreUrlParams &parentesi graffa; /0001 &parentesi graffa; /type "allow" /glob "*" ∽̱ &parentesi graffa; |
memorizzato in cache |
---|---|
Richiesta HTTP: GET /content/test.html?test=1 HTTP/1.1 Configurazione farm /cache: /ignoreUrlParams &parentesi graffa; /0001 &parentesi graffa; /type "deny" /glob "*" ∽̱ /0001 &parentesi graffa; /type "allow" /glob "test" ∽̱ &parentesi graffa; |
memorizzato in cache |
Richiesta HTTP: GET /content/test.html?test=1 HTTP/1.1 farm /cache di dispatcher.any = /allowAuthorized configuration: /ignoreUrlParams &parentesi graffa; /0001 &parentesi graffa; /type "deny" /glob "*" ∽̱ /0001 &parentesi graffa; /type "allow" /glob "q" ∽̱ &parentesi graffa; |
non memorizzato nella cache |
Regole di risposta HTTP e memorizzazione in cache:
La risposta HTTP restituita da AEM è memorizzabile in cache se vengono soddisfatti i seguenti criteri.
1. IL DISPATCHER È IN GRADO DI INVIARE E RICEVERE UNA RISPOSTA DI 200 OK DA UNO DEI "RENDERS" DEFINITI.
Nota:
Se no /timeout è impostato su /renders
oppure è impostato su 0 quindi aspetterebbe per sempre una connessione all'istanza AEM anche se l'istanza è inattiva.
Messaggi di registro correlati:
Unable to send request to remote server. Unable to receive response from remote server. Remote server returned: %s No backend available. |
---|
Esempi:
Richiesta HTTP: 200 OK |
memorizzato in cache |
---|---|
Richiesta HTTP: 404 Pagina non trovata |
non memorizzato nella cache |
2. NELLA RISPOSTA NON È PRESENTE NESSUNA DI QUESTE INTESTAZIONI DI RISPOSTA:
Dispatcher: no-cache
Cache-control: no-cache
Pragma: no-cache
Messaggio di registro correlato:
Backend forbids caching: %s, sent: %s" response contains no_cache |
---|
Esempi:
Risposta HTTP: 200 OK Dispatcher: no-cache |
non memorizzato nella cache |
---|---|
Risposta HTTP: 200 OK Controllo cache: no-cache |
non memorizzato nella cache |
Risposta HTTP: 200 OK Pragma: no-cache |
non memorizzato nella cache |
Risposta HTTP: 200 OK |
memorizzato in cache |
3. IL VALORE DI LUNGHEZZA DEL CONTENUTO È MAGGIORE DEI BYTE ZERO.
Messaggio di registro correlato:
response content length is zero |
---|
Esempi:
Risposta HTTP: 200 OK Lunghezza del contenuto: 0 |
non memorizzato nella cache |
---|---|
Risposta HTTP: 200 OK Lunghezza del contenuto: 3120 |
memorizzato in cache |