Motore regole della rete CDN di AzureAzure CDN rules engine

In questo argomento sono riportate descrizioni dettagliate delle condizioni di corrispondenza e delle funzionalità disponibili per il motore regoledella rete per la distribuzione di contenuti (CDN) di Azure.This topic lists detailed descriptions of the available match conditions and features for Azure Content Delivery Network (CDN) Rules Engine.

Il motore regole HTTP è progettato per essere l'autorità finale sul modo in cui i tipi di richieste specifici vengono elaborati dalla rete CDN.The HTTP 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'utilizzo di espressioni condizionali, corrispondenze e funzionalità.A rule is defined through the use of conditional expressions, matches, 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 will be 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 tratterà tutti i caratteri speciali, fatta eccezione per il simbolo %, come parte del valore da mettere in corrispondenza.Text that is interpreted as a literal value will treat 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 \'*'\ verrà soddisfatta solo laddove si troverà tale valore (ad esempio, \'*'\).In other words, a literal match condition set to \'*'\ will only be satisfied when that exact value (i.e., \'*'\) is found.

Un simbolo di percentuale viene utilizzato per indicare la codifica URL (ad esempio %20).A percentage symbol is used to indicate URL encoding (e.g., %20).

Valori caratteri jollyWildcard Values

Il testo che viene interpretato come un valore carattere jolly assegnerà un significato aggiuntivo ai caratteri speciali.Text that is interpreted as a wildcard value will assign additional meaning to special characters. Nella tabella seguente viene descritto come verrà interpretato il seguente set di caratteri.The following table describes how the following set of characters will be 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: \*
% Un simbolo di percentuale viene utilizzato per indicare la codifica URL (ad esempio, %20).A percentage symbol is used to indicate URL encoding (e.g., %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 di spazio letterale racchiudendo un carattere di 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 (i.e., ' ' 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 (ad esempio '').Specify a blank value by specifying a set of single quotes (i.e., '').

Importante:Important:
- Se il valore specificato non contiene un carattere jolly, verrà automaticamente considerato un valore letterale.- If the specified value does not contain a wildcard, then it will automatically be considered a literal value. Ciò significa che non è necessario specificare un set di virgolette singole.This 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 verrà ignorato se specificato all'interno di un set di virgolette singole.- If a backslash does not escape another character in this table, then it will be ignored when 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 (ad esempio, \).- Another way to specify a special character as a literal character is to escape it using a backslash (i.e., \).

Espressioni regolariRegular Expressions

Le espressioni regolari definiscono un modello che verrà cercato all'interno di un valore di testo.Regular expressions define a pattern that will be 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.A backslash escapes the character the follows it. In questo modo il carattere deve essere trattato come un valore letterale anziché adottare il significato di espressione regolare.This 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 utilizzare 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 (e.g., \%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