ADC

Standardeinstellungen für den integrierten Cache

Die integrierte Cachefunktion von NetScaler bietet integrierte Richtlinien mit Standardeinstellungen und Anfangseinstellungen für die Standard-Inhaltsgruppe. Die Informationen in diesem Abschnitt definieren die Parameter für die integrierten Richtlinien und die Standard-Inhaltsgruppe.

Standard-Caching-Richtlinien

Der integrierte Cache verfügt über integrierte Richtlinien. Die NetScaler-Appliance bewertet die Richtlinien in einer bestimmten Reihenfolge, wie in den folgenden Abschnitten beschrieben.

Sie können diese integrierten Richtlinien durch eine benutzerdefinierte Richtlinie außer Kraft setzen, die an eine Richtlinienbank zur Außerkraftsetzung der Anforderungszeit oder zur Außerkraftsetzung von Antwortzeiten gebunden ist.

Hinweis: Wenn Sie Richtlinien vor Version 9.0 konfiguriert und beim Binden der Richtlinien den Parameter -PrecededefRules angegeben haben, werden diese während der Migration automatisch Override-Time-Bindungspunkten zugewiesen.

Standardrichtlinien anzeigen

Die Namen der integrierten Richtlinien beginnen mit einem Unterstrich (_). Sie können die integrierten Richtlinien über die Befehlszeile und die Verwaltungskonsole mit dem Befehl show cache policy einsehen.

Standardanforderungsrichtlinien

Sie können die folgenden integrierten Richtlinien zur Anforderungszeitüberschreitung außer Kraft setzen, indem Sie neue Richtlinien konfigurieren und sie an den Verarbeitungspunkt für die Außerkraftsetzung von Anfragen binden. Beachten Sie in den folgenden Richtlinien, dass die MAY_NOCACHE-Aktion festlegt, dass die Transaktion nur dann zwischengespeichert wird, wenn zur Antwortzeit eine vom Benutzer konfigurierte oder integrierte CACHE-Direktive vorhanden ist.

Die folgenden Richtlinien sind an das Richtlinienlabel _reqBuiltInDefaults gebunden. Sie sind in der Reihenfolge ihrer Priorität aufgeführt.

Zwischenspeichern Sie keine Antwort auf eine Anfrage, die eine andere Methode als GET verwendet.

Der Name der Richtlinie lautet _NongetReq. Die folgende Richtlinienregel ist:

!HTTP.REQ.METHOD.eq(GET)

Legen Sie eine NOCACHE-Aktion für eine Anfrage mit einem Header-Wert fest, der If-Match oder If-Unmodified-Since enthält.

Der Name der Richtlinie lautet _AdvancedConditionalReq. Die folgende Richtlinienregel ist:

HTTP.REQ.HEADER("If-Match").EXISTS || HTTP.REQ.HEADER("If-Unmodified-Since").EXISTS

Legen Sie eine MAY_NOCACHE-Aktion für eine Anfrage mit den folgenden Header-Werten fest: Cookie, Authorization, Proxy-Authorization oder eine Anfrage, die den NTLM- oder Negotiate-Header enthält.

Der Name der Richtlinie lautet _PersonalizedReq. Die folgende Richtlinienregel ist:

HTTP.REQ.HEADER("Cookie").EXISTS || HTTP.REQ.HEADER("Authorization").EXISTS || HTTP.REQ.HEADER("Proxy-Authorization").EXISTS || HTTP.REQ.IS_NTLM_OR_NEGOTIATE

Standard-Antwortrichtlinien

Sie können die folgenden Standardrichtlinien für Reaktionszeiten außer Kraft setzen, indem Sie neue Richtlinien konfigurieren und sie an den Verarbeitungspunkt für die Außerkraftsetzung der Reaktionszeit binden.

Die folgenden Richtlinien sind an das Richtlinienlabel _resBuiltInDefaults gebunden und werden in der Reihenfolge ausgewertet, in der sie aufgeführt sind:

  1. Zwischenspeichern Sie keine HTTP-Antworten, es sei denn, sie sind vom Typ 200, 304, 307, 203 oder wenn die Typen zwischen 400 und 499 oder zwischen 300 und 302 liegen.

    Der Name der Richtlinie ist _uncacheableStatusRes. Die folgende Richtlinienregel ist:

    !((HTTP.RES.STATUS.EQ(200)) || (HTTP.RES.STATUS.EQ(304)) || (HTTP.RES.STATUS.BETWEEN(400,499)) || (HTTP.RES.STATUS.BETWEEN(300, 302)) || (HTTP.RES.STATUS.EQ(307))|| (HTTP.RES.STATUS.EQ(203)))

  2. Zwischenspeichern Sie keine HTTP-Antwort, wenn sie einen Vary-Header mit einem anderen Wert als Accept-Encoding enthält.

    Das Kompressionsmodul fügt den Header Vary: Accept_Encoding ein. Der Name dieses Ausdrucks ist _uncacheableVaryRes. Die folgende Richtlinienregel ist:

    ((HTTP.RES.HEADER("Vary").EXISTS) && ((HTTP.RES.HEADER("Vary").INSTANCE(1).LENGTH > 0) || (!HTTP.RES.HEADER("Vary").STRIP_END\_WS.SET_TEXT_MODE(IGNORECASE).eq("Accept-Encoding"))))

  3. Zwischenspeichern Sie keine Antwort, wenn ihr Cache-Control-Header-Wert No-Cache, No-Store oder Private ist oder wenn der Cache-Control-Header nicht gültig ist.

    Der Name der Richtlinie lautet _UncacheableCacheControlRes. Die folgende Richtlinienregel ist:

    ((HTTP.RES.CACHE\_CONTROL.IS\_PRIVATE) || (HTTP.RES.CACHE\_CONTROL.IS\_NO\_CACHE) || (HTTP.RES.CACHE\_CONTROL.IS\_NO\_STORE) || (HTTP.RES.CACHE\_CONTROL.IS\_INVALID))

  4. Cache-Antworten, wenn der Cache-Control-Header einen der folgenden Werte hat: Public, Must-Revalidate, Proxy-Revalidate, Max-Age, S-Maxage.

    Der Name der Richtlinie lautet _CacheableCacheControlRes. Die folgende Richtlinienregel ist:

    ((HTTP.RES.CACHE_CONTROL.IS_PUBLIC) || (HTTP.RES.CACHE_CONTROL.IS_MAX_AGE) || (HTTP.RES.CACHE_CONTROL.IS_MUST_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_PROXY_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_S_MAXAGE))

  5. Zwischenspeichern Sie keine Antworten, die einen Pragma-Header enthalten.

    Der Name der Richtlinie ist _uncacheablePragmares. Die folgende Richtlinienregel ist:

    HTTP.RES.HEADER("Pragma").EXISTS

  6. Zwischenspeichern von Antworten, die einen Expires-Header enthalten.

    Der Name der Richtlinie lautet _CacheableExpiryRes. Die folgende Richtlinienregel ist:

    HTTP.RES.HEADER("Expires").EXISTS

  7. Wenn die Antwort einen Content-Type-Header mit dem Wert Image enthält, entfernen Sie alle Cookies im Header und speichern Sie ihn im Cache.

    Der Name der Richtlinie lautet _ImageRes. Die folgende Richtlinienregel ist:

    HTTP.RES.HEADER("Content-Type").SET_TEXT_MODE(IGNORECASE).STARTSWITH("image/")

    Sie können die folgende Inhaltsgruppe so konfigurieren, dass sie mit dieser Richtlinie arbeitet:

    add cache contentgroup nocookie -group -removeCookies YES

  8. Zwischenspeichern Sie keine Antwort, die einen Set-Cookie-Header enthält.

    Der Name der Richtlinie lautet _ PersonalizedRes. Die folgende Richtlinienregel ist:

    HTTP.RES.HEADER („Cookie setzen“) .EXISTS

Einschränkungen der Standardrichtlinien

Sie können die folgenden integrierten Richtlinien für die Anfragezeit nicht durch benutzerdefinierte Richtlinien überschreiben.

Diese Richtlinien sind in der Reihenfolge ihrer Priorität aufgeführt.

  1. Zwischenspeichern Sie keine Antworten, wenn der entsprechenden HTTP-Anfrage eine GET- oder POST-Methode fehlt.
  2. Zwischenspeichern Sie keine Antworten auf eine Anfrage, wenn die URL-Länge der HTTP-Anfrage plus Hostname 1744 Byte überschreitet.
  3. Zwischenspeichern Sie keine Antwort auf eine Anfrage, die einen If-Match-Header enthält.
  4. Zwischenspeichern Sie keine Anfrage, die einen If-Unmodified-Since-Header enthält.

Hinweis: Dies unterscheidet sich vom If-Modified-Since-Header.

  1. Zwischenspeichern Sie keine Antwort, wenn der Server keinen Ablauf-Header festlegt.

Sie können die folgenden integrierten Richtlinien für die Reaktionszeit nicht außer Kraft setzen. Diese Richtlinien werden in der Reihenfolge bewertet, in der sie aufgeführt sind:

  1. Zwischenspeichern Sie keine Antworten, die den HTTP-Antwortstatuscode 201, 202, 204, 205 oder 206 haben.
  2. Zwischenspeichern Sie keine Antworten mit dem HTTP-Antwortstatuscode 4xx, mit Ausnahme der Statuscodes 403, 404 und 410.
  3. Zwischenspeichern Sie keine Antworten, wenn der Antworttyp FIN-terminiert ist oder die Antwort keines der folgenden Attribute hat: Content-Length oder Transfer-Encoding: Chunked.
  4. Zwischenspeichern Sie die Antwort nicht, wenn das Caching-Modul seinen Cache-Control-Header nicht analysieren kann.

Grundeinstellungen für die Standard-Inhaltsgruppe

Wenn Sie das integrierte Caching zum ersten Mal aktivieren, stellt die NetScaler Appliance eine vordefinierte Inhaltsgruppe mit der Bezeichnung Standardinhaltsgruppe zur Verfügung. Ausführliche Informationen finden Sie unter Tabelle mit Standardeinstellungen für Inhaltsgruppen .

Standardeinstellungen für den integrierten Cache