Intestazioni HTTP X-EC-Debug per il motore regole di Azure rete per la distribuzione di contenuti

L' intestazione della richiesta di debug della cache, X-EC-Debug, fornisce ulteriori informazioni sui criteri della cache applicati all'asset richiesto. Queste intestazioni sono specifiche per Rete CDN di Azure Premium dei prodotti Edgio.

Utilizzo

La risposta inviata dai server POP a un utente include l'intestazione X-EC-Debug solo quando sono soddisfatte le condizioni seguenti:

  • La funzionalità Debug Cache Response Headers (Intestazioni di risposta cache di debug) è abilitata nel motore regole per la richiesta specificata.
  • La richiesta specificata definisce il set di intestazioni di risposta della cache di debug incluse nella risposta.

Richiesta di informazioni di debug per la cache

Usare le direttive seguenti nella richiesta specificata per definire le informazioni della cache di debug incluse nella risposta:

Intestazione della richiesta Descrizione
X-EC-Debug: x-ec-cache Codice di stato della cache
X-EC-Debug: x-ec-cache-remote Codice di stato della cache
X-EC-Debug: x-ec-check-cacheable Inseribile nella cache
X-EC-Debug: x-ec-cache-key Chiave di cache
X-EC-Debug: x-ec-cache-state Stato cache

Sintassi

Le intestazioni di risposta della cache di debug potrebbero essere richieste includendo l'intestazione seguente e le direttive specificate nella richiesta:

X-EC-Debug: Directive1,Directive2,DirectiveN

Esempio di intestazione X-EC-Debug

X-EC-Debug: x-ec-cache,x-ec-check-cacheable,x-ec-cache-key,x-ec-cache-state

Informazioni sul codice di stato della cache

L'intestazione della risposta X-EC-Debug può identificare un server e il modo in cui ha gestito la risposta tramite le direttive seguenti:

Intestazione Descrizione
X-EC-Debug: x-ec-cache Questa intestazione viene segnalata ogni volta che il contenuto viene indirizzato attraverso la rete per la distribuzione di contenuti. Identifica il server POP che ha soddisfatto la richiesta.
X-EC-Debug: x-ec-cache-remote Questa intestazione viene visualizzata solo quando il contenuto richiesto è stato memorizzato nella cache in un server shield di origine o in un server gateway ADN.

Formato dell'intestazione della risposta

L'intestazione X-EC-Debug visualizza le informazioni sul codice di stato della cache nel formato seguente:

  • X-EC-Debug: x-ec-cache: <StatusCode from Platform (POP/ID)>

  • X-EC-Debug: x-ec-cache-remote: <StatusCode from Platform (POP/ID)>

I termini usati nella sintassi dell'intestazione della risposta riportata sopra sono definiti nel modo seguente:

  • StatusCode: il codice di stato della cache rappresenta il modo in cui la rete per la distribuzione di contenuti ha gestito il contenuto richiesto.

    Il codice di stato TCP_DENIED potrebbe essere segnalato invece di NONE quando viene negata una richiesta non autorizzata a causa dell'autenticazione basata su token. Tuttavia, il codice di stato NONE continua a essere usato quando si visualizzano i report sullo stato della cache o i dati di log non elaborati.

  • Platform: indica la piattaforma su cui è stato richiesto il contenuto. I codici seguenti sono validi per questo campo:

    Codice Piattaforma
    ECAcc HTTP Large
    ECS HTTP Small
    ECD Application Delivery Network (ADN)
  • POP: indica il server POP che ha gestito la richiesta.

Intestazioni di risposta di esempio

Le intestazioni di esempio seguenti forniscono le informazioni sul codice di stato della cache per una richiesta:

  • X-EC-Debug: x-ec-cache: TCP_HIT from ECD (lga/0FE8)

  • X-EC-Debug: x-ec-cache-remote: TCP_HIT from ECD (dca/EF00)

Intestazione di risposta Cacheable

L'intestazione X-EC-Debug: x-ec-check-cacheable della risposta indica se il contenuto richiesto è memorizzabile nella cache.

Questa intestazione della risposta non indica se la memorizzazione nella cache è stata eseguita. Indica piuttosto se la richiesta fosse idonea per la memorizzazione nella cache.

Formato dell'intestazione della risposta

L'intestazione X-EC-Debug della risposta indica se una richiesta può essere memorizzata nella cache ed è nel formato seguente:

X-EC-Debug: x-ec-check-cacheable: <cacheable status>

Il termine usato nella sintassi dell'intestazione della risposta riportata sopra è definito nel modo seguente:

Valore Descrizione
Indica che il contenuto richiesto era idoneo per la memorizzazione nella cache.
NO Indica che il contenuto richiesto non era idoneo per la memorizzazione nella cache. Questo stato potrebbe essere dovuto a uno dei motivi seguenti:
- Configurazione specifica del cliente: una configurazione specifica del proprio account può impedire ai server POP di memorizzare un asset nella cache. Ad esempio, il motore regole può impedire la memorizzazione di un asset nella cache abilitando la funzionalità Ignora cache per le richieste qualificate.
- Intestazioni di risposta della cache: le intestazioni Cache-Control ed Expires dell'asset richiesto possono impedire ai server POP di memorizzarla nella cache.
SCONOSCIUTO Indica che i server non sono stati in grado di valutare se l'asset richiesto fosse inseribile nella cache. Questo stato si verifica in genere quando la richiesta viene rifiutata a causa dell'autenticazione basata su token.

Esempio di intestazione di risposta

L'intestazione di risposta di esempio seguente mostra se il contenuto richiesto è memorizzabile nella cache:

X-EC-Debug: x-ec-check-cacheable: YES

Intestazione di risposta Cache-Key

L'intestazione di risposta X-EC-Debug: x-ec-cache-key indica la chiave di cache fisica associata al contenuto richiesto. Una chiave di cache fisica è costituita da un percorso che identifica un asset ai fini della memorizzazione nella cache. In altre parole, i server cercano una versione memorizzata nella cache di un asset in base al relativo percorso, così come definito dalla chiave di cache.

Questa chiave di cache fisica inizia con una doppia barra (//) seguita dal protocollo usato per richiedere il contenuto (HTTP o HTTPS). Questo protocollo è seguito dal percorso relativo dell'asset richiesto, che inizia con il punto di accesso del contenuto (ad esempio /000001/).

Per impostazione predefinita, la configurazione delle piattaforme HTTP usa la cache standard, che comporta il meccanismo di memorizzazione nella cache ignorando le stringhe di query. Questo tipo di configurazione impedisce alla chiave di cache di includere dati di stringhe di query.

Quando una stringa di query viene acquisita nella chiave cache, viene sottoposta a conversione nell'equivalente hash. Quindi, viene inserito tra il nome dell'asset richiesto e la relativa estensione di file, come illustrato dal valore> hash dell'asset<.html.

Formato dell'intestazione della risposta

L'intestazione di risposta X-EC-Debug visualizza le informazioni sulla chiave di cache fisica nel formato seguente:

X-EC-Debug: x-ec-cache-key: CacheKey

Esempio di intestazione di risposta

L'intestazione di risposta di esempio seguente indica la chiave di cache fisica relativa al contenuto richiesto:

X-EC-Debug: x-ec-cache-key: //http/800001/origin/images/foo.jpg

Intestazione di risposta cache-state

L'intestazione di risposta X-EC-Debug: x-ec-cache-state indica lo stato della cache del contenuto richiesto al momento della richiesta.

Formato dell'intestazione della risposta

L'intestazione di risposta X-EC-Debug visualizza le informazioni sullo stato della cache nel formato seguente:

X-EC-Debug: x-ec-cache-state: max-age=MASeconds (MATimePeriod); cache-ts=UnixTime (ddd, dd MMM yyyy HH:mm:ss GMT); cache-age=CASeconds (CATimePeriod); remaining-ttl=RTSeconds (RTTimePeriod); expires-delta=ExpiresSeconds

I termini usati nella sintassi dell'intestazione della risposta riportata sopra sono definiti nel modo seguente:

  • MASeconds: indica la durata massima (in secondi) definita dalle intestazioni Cache-Control del contenuto richiesto.

  • MATimePeriod: converte il valore della durata massima (ossia MASeconds) nell'equivalente approssimativo di un'unità superiore (ad esempio giorni).

  • UnixTime: indica il timestamp della cache del contenuto richiesto in tempo Unix (noto anche come ora POSIX ) o periodo Unix. Il timestamp della cache indica la data/ora di inizio da cui il sistema calcola la durata (TTL) di un asset.

    Se il server di origine non utilizza un server di memorizzazione nella cache HTTP di terze parti o se tale server non restituisce l'intestazione di risposta Age, il timestamp della cache è sempre la data/ora in cui il sistema recupera o riconvalida l'asset. In caso contrario, i server POP usano il campo Age per calcolare la durata (TTL) dell'asset come segue: Retrieval/RevalidateDateTime - Age.

  • progettazione basata su dominio (DDD), gg MMM aaaaA HH:mm:ss GMT: indica il timestamp della cache del contenuto richiesto. Per altre informazioni, vedere il termine UnixTime.

  • CASeconds: indica il numero di secondi trascorsi dal timestamp della cache.

  • RTSeconds: indica il numero di secondi rimanenti durante i quali il sistema considera il contenuto memorizzato nella cache come aggiornato. Questo valore viene calcolato nel modo seguente: RTSeconds = max-age - cache age.

  • RTTimePeriod: converte il valore TTL rimanente (ossia RTSeconds) nell'equivalente approssimativo di un'unità superiore (ad esempio giorni).

  • ExpiresSeconds: indica il numero di secondi rimanenti prima della data/ora specificata nell'intestazione di risposta Expires. Se l'intestazione Expires della risposta non è stata inclusa nella risposta, il valore di questo termine non è nessuno.

Esempio di intestazione di risposta

L'intestazione di risposta di esempio seguente indica lo stato della cache del contenuto richiesto al momento della richiesta:

X-EC-Debug: x-ec-cache-state: max-age=604800 (7d); cache-ts=1341802519 (Mon, 09 Jul 2012 02:55:19 GMT); cache-age=0 (0s); remaining-ttl=604800 (7d); expires-delta=none