Welke verzoeken AEM Dispatcher cache?

Dit artikel bepaalt waarom en welke HTTP- verzoeken/reacties niet in het voorgeheugen ondergebracht worden door de AEM Dispatcher.

Beschrijving description

Milieu

AEM Dispatcher 4.3.3

Uitgave

De documentatie behandelt de belangrijkste scenario's die het geheime voorgeheugen-vermogen van verzoeken en reacties beïnvloeden die door de module van AEM Dispatcher gaan. Niet alle regels voor het cachegeheugen worden behandeld.

Resolutie resolution

HTTP- Verzoek & Caching Regels

Een HTTP-aanvraag kan alleen door de verzender in de cache worden geplaatst als deze voldoet aan de volgende regels:

  1. URL is absoluut (werkt niet met . of …), heeft een bestandsextensie en de bestandsnaam in de URL werkt als een bestand op het bestandssysteem.

    Verwante logboekberichten :

    code language-none
    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
    

    Voorbeelden :

    table 0-row-2 1-row-2
    /content/test not cached
    /content/test.html cached
  2. Er worden geen schuine strepen weergegeven na de eerste bestandsextensie.

    Verwante logboekberichten :

    code language-none
    request URL has trailing slash
    

    Voorbeelden :

    table 0-row-2 1-row-2 2-row-2
    /content/test.html/ not cached
    /content/test.html/foo.jpg not cached
    /content/test.html cached
  3. De methode maakt gebruik van HTTP GET of HEAD.

    Verwante logboekberichten :

    code language-none
    request method is neither GET nor HEAD
    

    Voorbeelden :

    table 0-row-2 1-row-2 2-row-2
    HEAD /content/test.html HTTP/1.1 cached
    GET /content/dam/test.jpg HTTP/1.1 not cached
    POST /content/test.html HTTP/1.1 not cached
  4. Het verzoek wordt ontkend door /CACHE = > /REGELS die in de verzender wordt bepaald. ELKE CONFIGURATIE VAN DE LANDBOUW.

    Verwante logboekberichten :

    code language-none
    URI not  in cache rules: %s request URL not in cache rules
    

    Voorbeelden :

    a. Niet in cache geplaatst

    code language-none
    Farm has /cache => /rules and a request is received for /content/test.html
    /cache
    {
      ...
      /rules
      {
        /0001 {
          type "deny"
          glob "*"
          }
      }
    }
    

    b. in cache geplaatst

    code language-none
    Farm has /cache => /rules and a request is received for /content/test.html
    /cache
    {
      ...
      /rules
      {
        /0001 {
          type "allow"
          glob "*"
          }
      }
    }
    
  5. De HTTP-aanvraag bevat geen machtigingsheader of bevat de header, maar /ALLOWAUTHORIZED is ingesteld op 1 in de FARM CONFIGURATION.

    Verwante logboekberichten :

    code language-none
    request contains authorization
    

    Voorbeelden :

    a. Niet in cache geplaatst

    code language-none
    HTTP Request:
    
    GET /content/test.html HTTP/1.1
    Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
    dispatcher.any farm /cache => /allowAuthorized configuration:
    /cache {
     /allowAuthorized “0”
    }
    

    b. in cache geplaatst

    code language-none
    HTTP Request:
    
    GET /content/test.html HTTP/1.1
    Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
    dispatcher.any farm /cache => /allowAuthorized configuration:
    /cache {
     /allowAuthorized “1”
    }
    
  6. De HTTP-aanvraag bevat een aanmeldings- of verificatiecookie in de cookieheader of het bevat een van deze cookies (of beide) en /ALLOWAUTHORIZED is ingesteld op 1 in de FARM CONFIGURATION.

    Verwante logboekberichten :

    code language-none
    request contains authorization
    

    Voorbeelden :

    a. Niet in cache geplaatst

    code language-none
    HTTP Request:
    
    GET /content/test.html HTTP/1.1
    Cookie: login-token=...
    dispatcher.any farm /cache = /allowAuthorized configuration:
    /cache {
     /allowAuthorized “0”
    }
    
    code language-none
    HTTP Request:
    
    GET /content/test.html HTTP/1.1
    Cookie: authorization= YWxhZGRpbjpvcGVuc2VzYW1l
    dispatcher.any farm /cache = /allowAuthorized configuration:
    /cache {
     /allowAuthorized “0”
    }
    

    b. in cache geplaatst

    code language-none
    HTTP Request:
    
    GET /content/test.html HTTP/1.1
    Cookie: login-token=...
    dispatcher.any farm /cache => /allowAuthorized configuration:
    /cache {
     /allowAuthorized “1”
    }
    
  7. Er is een parameter QUERYSTRING in URL en de parameter wordt toegestaan om via de CONFIGURATIE van FARM /IGNOREURLPARAMS worden genegeerd.

    Verwante logboekberichten :

    code language-none
    request contains a query string
    

    Voorbeelden :

    a. in cache geplaatst

    code language-none
    HTTP Request:
    
    GET /content/test.html?test=1 HTTP/1.1
    Farm /cache configuration:
    
    /ignoreUrlParams {
        /0001 { /type “allow” /glob “*” }
    }
    
    code language-none
    HTTP Request:
    
    GET /content/test.html?test=1 HTTP/1.1
    Farm /cache configuration:
    /ignoreUrlParams {
        /0001 { /type “deny” /glob “*” }
        /0001 { /type “allow” /glob “test” }
    }
    

    b. Niet in cache geplaatst

    code language-none
    HTTP Request:
    
    GET /content/test.html?test=1 HTTP/1.1
    dispatcher.any farm /cache = /allowAuthorized configuration:
    /ignoreUrlParams {
        /0001 { /type “deny” /glob “*” }
        /0001 { /type “allow” /glob “q” }
    }
    

de Reactie van HTTP & Caching Regels:

De HTTP-reactie die door AEM wordt geretourneerd, is cacheable als aan de volgende criteria wordt voldaan:

  1. De verzender kan 200 OK-antwoorden van een van de gedefinieerde RENDERS verzenden en ontvangen.

    Nota: als geen /timeoutop /renders wordt geplaatst of het aan 0 dan wordt geplaatst zou het voor altijd op een verbinding aan de AEM instantie wachten zelfs als de instantie neer is.

    Verwante logboekberichten :

    code language-none
    Unable to send request to remote server. Unable to receive response from remote server. Remote server returned: %s No backend available.
    

    Voorbeelden :

    table 0-row-2 1-row-2
    HTTP-aanvraag:

    200 OK
    caching
    HTTP-aanvraag:

    404 pagina niet gevonden
    niet in cache geplaatst
  2. Geen van deze responsheaders is aanwezig in de reactie:

    • Dispatcher: no-cache
    • Cache-control: no-cache
    • Pragma: no-cache

    Verwante logboekberichten :

    code language-none
    Backend forbids caching: %s, sent: %s" response contains no_cache
    

    Voorbeelden :

    table 0-row-2 1-row-2 2-row-2 3-row-2
    HTTP-antwoord:

    200 OK

    Dispatcher: geen cache
    niet in cache geplaatst
    HTTP-antwoord:

    200 OK

    Cache-control: no-cache
    niet in cache geplaatst
    HTTP-antwoord:

    200 OK

    Pragma: geen cache
    niet in cache geplaatst
    HTTP-antwoord:

    200 OK
    caching
  3. Waarde voor lengte van inhoud is groter dan BYTES voor NUL.
    Verwante logboekberichten :

    code language-none
    response content length is zero
    

    Voorbeelden :

    table 0-row-2 1-row-2
    HTTP-antwoord:

    200 OK

    Content-Length: 0
    niet in cache geplaatst
    HTTP-antwoord:

    200 OK

    Content-Length: 3120
    caching
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f