Informazioni di riferimento sul motore regole della rete CDN di AzureAzure CDN rules engine reference

Questo articolo fornisce descrizioni dettagliate delle funzionalità e dalle condizioni di corrispondenza disponibili per il motore regole della rete per la distribuzione di contenuti (rete CDN) di Azure.This article lists detailed descriptions of the available match conditions and features for the Azure Content Delivery Network (CDN) rules engine.

Il motore regole è progettato per essere l'autorità finale sul modo in cui i tipi di richieste specifici vengono elaborati dalla rete CDN.The rules engine is designed to be the final authority on how specific types of requests are processed by the CDN.

Usi comuni:Common uses:

  • Eseguire l'override o definire un criterio della cache personalizzato.Override or define a custom cache policy.
  • Proteggere o negare le richieste di contenuti sensibili.Secure or deny requests for sensitive content.
  • Reindirizzare le richieste.Redirect requests.
  • Archiviare i dati di log personalizzati.Store custom log data.

TerminologiaTerminology

Una regola è definita con l'uso di espressioni condizionali, corrispondenze e funzionalità.A rule is defined through the use of conditional expressions, match conditions, and features. Questi elementi vengono evidenziati nella figura seguente:These elements are highlighted in the following illustration:

Condizione di corrispondenza della rete CDN

SintassiSyntax

Il modo in cui verranno trattati i caratteri speciali varia a seconda del modo in cui una condizione di corrispondenza o funzionalità gestisce i valori di testo.The manner in which special characters are treated varies according to how a match condition or feature handles text values. Una condizione di corrispondenza o funzionalità potrebbe interpretare il testo in uno dei modi seguenti:A match condition or feature may interpret text in one of the following ways:

  1. Valori letteraliLiteral values
  2. Valori caratteri jollyWildcard values
  3. Espressioni regolariRegular expressions

Valori letteraliLiteral values

Il testo che viene interpretato come valore letterale tratta tutti i caratteri speciali, fatta eccezione per il simbolo %, come parte del valore di cui trovare la corrispondenza.Text that is interpreted as a literal value treats all special characters, with the exception of the % symbol, as a part of the value that must be matched. In altre parole, una condizione di corrispondenza letterale impostata su \'*'\ viene soddisfatta solo se viene trovato tale valore (ad esempio, \'*'\).In other words, a literal match condition set to \'*'\ is only satisfied when that exact value (that is, \'*'\) is found.

Per indicare la codifica URL viene usato un simbolo di percentuale (ad esempio, %20).A percentage symbol is used to indicate URL encoding (for example, %20).

Valori caratteri jollyWildcard values

Il testo che viene interpretato come un valore carattere jolly assegna un significato aggiuntivo ai caratteri speciali.Text that is interpreted as a wildcard value assigns additional meaning to special characters. La tabella di seguito descrive come viene interpretato il set di caratteri seguente:The following table describes how the following set of characters is interpreted:

CharacterCharacter DESCRIZIONEDescription
\ Una barra rovesciata viene utilizzata per eseguire l'escape di ogni carattere specificato in questa tabella.A backslash is used to escape any of the characters specified in this table. Una barra rovesciata deve essere specificata direttamente prima del carattere speciale che deve essere sottoposto a escape.A backslash must be specified directly before the special character that should be escaped.
La sintassi seguente, ad esempio, ignora un asterisco: \*For example, the following syntax escapes an asterisk: \*
% Per indicare la codifica URL viene usato un simbolo di percentuale (ad esempio, %20).A percentage symbol is used to indicate URL encoding (for example, %20).
* L'asterisco è un carattere jolly che rappresenta uno o più caratteri.An asterisk is a wildcard that represents one or more characters.
SpazioSpace Un carattere di spazio indica che una condizione di corrispondenza può essere soddisfatta da uno dei valori o modelli specificati.A space character indicates that a match condition may be satisfied by either of the specified values or patterns.
"value"'value' Una virgoletta singola non ha un significato speciale.A single quote does not have special meaning. Tuttavia, un set di virgolette singole viene utilizzato per indicare che un valore deve essere considerato come valore letterale.However, a set of single quotes is used to indicate that a value should be treated as a literal value. Può essere usato nei modi seguenti:It can be used in the following ways:

- Consente una condizione di corrispondenza da soddisfare ogni volta che il valore specificato corrisponde a una parte qualsiasi del valore di confronto.- It allows a match condition to be satisfied whenever the specified value matches any portion of the comparison value. Ad esempio, 'ma' corrisponde a una qualsiasi delle seguenti stringhe:For example, 'ma' would match any of the following strings:

/business/marathon/asset.htm/business/marathon/asset.htm
map.gifmap.gif
/business/template.map/business/template.map

- Consente a un carattere speciale di essere specificato come carattere letterale.- It allows a special character to be specified as a literal character. Ad esempio, è possibile specificare un carattere spazio letterale racchiudendo uno spazio all'interno di un set di virgolette singole (ad esempio, ' ' o 'sample value').For example, you may specify a literal space character by enclosing a space character within a set of single quotes (that is, ' ' or 'sample value').
- Consente di specificare un valore vuoto.- It allows a blank value to be specified. Specificare un valore vuoto indicando un set di virgolette singole (ovvero '').Specify a blank value by specifying a set of single quotes (that is, '').

Importante:Important:
-Se il valore specificato non contiene un carattere jolly, viene automaticamente considerato un valore letterale. Questo significa che non è necessario specificare un set di virgolette singole.- If the specified value does not contain a wildcard, then it is automatically considered a literal value, which means that it is not necessary to specify a set of single quotes.
- Se una barra rovesciata non effettua l'escape di un altro carattere in questa tabella, questo viene ignorato se specificato all'interno di un set di virgolette singole.- If a backslash does not escape another character in this table, it is ignored when it is specified within a set of single quotes.
- Un altro modo per specificare un carattere speciale come un carattere letterale è quello di effettuare l'escape con una barra rovesciata (ovvero \).- Another way to specify a special character as a literal character is to escape it using a backslash (that is, \).

Espressioni regolariRegular expressions

Le espressioni regolari definiscono un modello che viene cercato all'interno di un valore di testo.Regular expressions define a pattern that is searched for within a text value. La notazione delle espressioni regolari definisce un significato specifico per una varietà di simboli.Regular expression notation defines specific meanings to a variety of symbols. La tabella seguente indica come vengono trattati i caratteri speciali dalle funzionalità e dalle condizioni di corrispondenza che supportano le espressioni regolari.The following table indicates how special characters are treated by match conditions and features that support regular expressions.

Carattere specialeSpecial Character DESCRIZIONEDescription
\ Una barra rovesciata esegue l'escape del carattere che la segue. In questo modo il carattere viene trattato come un valore letterale anziché assumere il significato di espressione regolare.A backslash escapes the character the follows it, which causes that character to be treated as a literal value instead of taking on its regular expression meaning. La sintassi seguente, ad esempio, ignora un asterisco: \*For example, the following syntax escapes an asterisk: \*
% Il significato di un simbolo di percentuale dipende dal relativo utilizzo.The meaning of a percentage symbol depends on its usage.

%{HTTPVariable}: questa sintassi identifica una variabile HTTP.%{HTTPVariable}: This syntax identifies an HTTP variable.
%{HTTPVariable%Pattern}: questa sintassi usa un simbolo di percentuale per identificare una variabile HTTP e come delimitatore.%{HTTPVariable%Pattern}: This syntax uses a percentage symbol to identify an HTTP variable and as a delimiter.
\%: l'escape di un simbolo di percentuale consente di usare tale simbolo come valore letterale o per indicare la codifica URL (ad esempio, \%20).\%: Escaping a percentage symbol allows it to be used as a literal value or to indicate URL encoding (for example, \%20).
* Un asterisco consente al carattere precedente di essere messo in corrispondenza zero o più volte.An asterisk allows the preceding character to be matched zero or more times.
SpazioSpace Un carattere di spazio in genere è considerato come un carattere letterale.A space character is typically treated as a literal character.
"value"'value' Le virgolette singole vengono trattate come caratteri letterali.Single quotes are treated as literal characters. Un set di virgolette singole non ha un significato speciale.A set of single quotes does not have special meaning.

Passaggi successiviNext steps