Scopri quali richieste AEM la cache del Dispatcher

Descrizione

Quali richieste e risposte HTTP AEM la cache del Dispatcher? (AEM Dispatcher 4.3.3)


Risoluzione

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

In questa pagina