A match condition identifies the set of requests to which one or more feature(s) will be applied. The available match conditions are listed below.
ASN
Identifies requests by the network from which the request was issued. A network is identified by its Autonomous System Number (ASN).
Key information:
- Certain requests may not return a valid AS number. A question mark (i.e.,
?
) will match requests for which a valid AS number could not be determined. - Specify a value that matches the entire AS number for the desired network (e.g.,
64514
and64515
).
Brand Name
Identifies requests by the manufacturer (e.g., Samsung) of the device that issued the request.
Key information:
- Specify a value using any combination of numbers, letters, or symbols.
- Use a regular expression to specify multiple values (e.g.,
value 1|value 2
).
Cache Status
Identifies requests by the cache status for the requested content.
Key information:
- The edge server handling the request identifies the cache status for the requested resource. Edgio then compares the code for this cache status against the specified value or pattern.
City
Identifies requests by the city from which they originated.
Key information:
- Certain requests may not return a valid city name. A question mark (i.e.,
?
) will match requests for which a valid city name could not be determined.
Client IP
Identifies requests that originate from a particular IP address.
Key information:
-
Use CIDR notation.
-
The syntax for an IP address block is the base IP address followed by a forward slash and the prefix size.
-
IPv4 Example:
5.5.5.64/26
matches any requests arriving from5.5.5.64
through5.5.5.127
. -
IPv6 Example:
1:2:3::0/48
matches any requests arriving from1:2:3:0:0:0:0:0
through1:2:3:ffff:ffff:ffff:ffff:ffff
.IPv6 address blocks should not be fully shortened. As shown in the above example, a trailing0
is required when shortening fields that consist of 0’s.
-
Content Length
Identifies requests by the content length, in bytes, of the response.
Key information:
- Use a regular expression (e.g.,
\b[1-9][0-9]{2}\b
) to specify a range of valid values.
Continent
Identifies requests by the continent from which the request was issued.
Key information:
-
Specify one or more continents using the following codes:
- AF: Africa
- AS: Asia
- EU: Europe
- NA: North America
- OC: Oceania
- SA: South and Central America
- ?: Unknown continent
-
Certain requests may not return a valid continent code. A question mark (i.e., ?) will match requests for which a valid continent code could not be determined.
-
Continent codes are case-sensitive.
Cookie
Identifies requests by a cookie’s value.
Key information:
- Set the Cookie Name option to the exact name of the desired cookie. You may not use special characters, including an asterisk, or a regular expression.
- Only a single cookie name may be specified per instance of this match condition.
- Cookie name comparisons are case-insensitive.
- Use a regular expression (e.g.,
value 1|value 2
) to specify multiple cookie values.
Country
Identifies requests by the country from which the request was issued. Specify each desired country through its country code.
Key information:
-
The
EU
andAP
country codes do not encompass all IP addresses in those regions. -
Certain requests may not return a valid country code. A question mark (i.e., ?) will match requests for which a valid country code could not be determined.
-
Country codes are case-sensitive.
Directory
Identifies requests by the request URL’s relative path. This relative path excludes the filename of the requested asset.
Key information:
-
This relative path starts directly after the hostname.
-
A URL comparison ends right before the filename of the requested asset. A trailing forward slash is the last character in this type of path.
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
DMA Code
Identifies requests by the metro code (Designated Market Area - DMA) from which the request was issued.
Key information:
-
Should I use the Metro Code or DMA Code match condition?Both of these match conditions provide the same capability. However, we recommend the use of the Metro Code match condition to identify requests by DMA.
-
Request DMA codes from Nielsen.
-
Metro codes are only applicable for traffic from the United States.
-
Certain requests may not return a valid metro code. A question mark (i.e.,
?
) will match requests for which a valid metro code could not be determined.
Dual Orientation
Identifies requests by whether the device that issued the request supports dual orientation (i.e., portrait and landscape).
Extension
Identifies requests by the file extension defined in the URL.
This match condition looks for a URL that ends with a period (
.
) and the specified file extension. Therefore, make sure that any file extensions specified in the Value option do not contain a leading period.Correct:
htm
Incorrect:
.htm
Filename
Identifies requests by the filename defined in the URL.
Key information:
- For the purposes of this match condition, a filename consists of the name of the requested asset, a period, and the file extension (e.g.,
index.html
). - Use a regular expression to specify multiples values (e.g.,
value 1|value 2
).
HTML Preferred DTD
Identifies requests by a device’s preferred document type definition (DTD) for HTML content (e.g.,
html4
).HTTP X-Forwarded-Host
Identifies requests by the value assigned to the
x-forwarded-host
header.Image Inlining
Identifies requests by whether the device that issued the request supports Base64-encoded images.
Is Android
Identifies requests by whether the operating system of the device that issued the request is Android.
Is App
Identifies requests by whether the device that issued the request is a native application.
Is Full Desktop
Identifies requests by whether the device that issued the request provides a full desktop experience.
Is iOS
Identifies requests by whether the operating system of the device that issued the request is iOS.
Is Robot
Identifies requests by whether the device that issued the request is considered to be an automated HTTP client (e.g., a robot crawler).
Is Smartphone
Identifies requests by whether the device that issued the request is a smartphone.
Is SmartTV
Identifies requests by whether the device that issued the request is a smart TV.
Is Subrequest
Identifies a subrequest that was spawned from the client’s request. Our edge servers generate subrequests under certain conditions or as required by special configurations.
Is Tablet
Identifies requests by whether the device that issued the request is a tablet. This is an OS-independent description.
Is Touchscreen
Identifies requests by whether the device that issued the request uses a touchscreen as the primary pointing device.
Is Windows Phone
Identifies requests by whether the device that issued the request is a Windows Mobile 6.5/Windows Phone 7 or later.
Is Wireless Device
Identifies requests by whether the device that issued the request is a wireless device.
Latitude
Identifies requests by the latitude from which the request was issued.
Key information:
-
Latitude is not precise. It returns the geographic coordinate for the postal code, city, region, or country associated with the IP address that submitted the request.
-
Specify latitude as a decimal value from 0 to 90. Preprend
-
for negative values.Example:33.9705
-
Certain requests may not return a valid latitude. A question mark (i.e.,
?
) will match requests for which a valid latitude could not be determined.
Longitude
Identifies requests by the longitude from which the request was issued.
Key information:
-
Longitude is not precise. It returns the geographic coordinate for the postal code, city, region, or country associated with the IP address that submitted the request.
-
Specify longitude as a decimal value from 0 to 90. Preprend
-
for negative values.Example:-118.4308
-
Certain requests may not return a valid longitude. A question mark (i.e.,
?
) will match requests for which a valid longitude could not be determined.
Marketing Name
Identifies requests by the marketing name (e.g.,
BlackBerry 8100 Pearl
) of the device that issued the request.Key information:
- Use a regular expression to specify multiples values (e.g.,
value 1|value 2
).
Method
Identifies requests by their HTTP method. Only assets that are requested using the selected request method will satisfy this condition.
The available HTTP methods are:
GET | POST | PUT | DELETE | PATCH | HEAD | OPTIONS
Metro Code
Identifies requests by the metro code (Designated Market Area - DMA) from which the request was issued.
Key information:
-
Should I use the Metro Code or DMA Code match condition?Both of these match conditions provide the same capability. However, we recommend the use of the Metro Code match condition to identify requests by DMA.
-
Request DMA codes from Nielsen.
-
Metro codes are only applicable for traffic from the United States.
-
Certain requests may not return a valid metro code. A question mark (i.e.,
?
) will match requests for which a valid metro code could not be determined.
Mobile Browser
Identifies requests by the name of the browser (e.g., Chrome) that issued the request.
Key information:
- Use a regular expression to specify multiples values (e.g.,
value 1|value 2
).
Model Name
Identifies requests by the model name (e.g., s10) of the device that issued the request.
Key information:
- Use a regular expression to specify multiples values (e.g.,
value 1|value 2
).
Origin Path
Identifies requests by the request URL’s relative path. This relative path comparison is performed on rewritten or redirected URLs.
Key information:
-
This relative path comparison is performed after Edgio rewrites or redirects the request. Rewrite or redirect a URL through the URL Rewrite and URL Redirect features, respectively. Use the Path match condition to match on the original relative path submitted by the client.
-
This relative path starts directly after the hostname.
-
For the purpose of satisfying this condition, query strings in the URL are ignored.
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
-
Matching against URLs that contain non-US-ASCII characters requires that you specify encoded Unicode characters (e.g.,
%E3%81%93
).-
Encode all Unicode characters before setting the Value option. This match condition only accepts encoded Unicode characters.Example:You should include the following characters instead of こんにちは when defining this match condition’s value:
%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF
-
The majority of user agents (e.g., web browsers) encode non-US-ASCII characters in the request’s query string before submitting the request to our CDN. By default, our CDN service does not decode those characters.Curl does not encode non-US-ASCII characters.
-
Origin Query String
Identifies requests by the query string of the requested URL. This query string comparison is performed on rewritten or redirected URLs.
Key information:
-
You may configure Edgio to rewrite or redirect a URL. This query string comparison is performed after Edgio rewrites or redirects the request. Use the Query String match condition to match on the query string submitted by the client.
-
The value associated with this match condition will be compared against the entire request’s query string.
-
For the purposes of this option, a query string starts with the first character after the question mark (?) delimiter for the query string. Therefore, the text specified in the Value option should not include a leading question mark (?).
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
-
Matching against URLs that contain non-US-ASCII characters requires that you specify encoded Unicode characters (e.g.,
%E3%81%93
).-
Encode all Unicode characters before setting the Value option. This match condition only accepts encoded Unicode characters.Example:You should include the following characters instead of こんにちは when defining this match condition’s value:
%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF
-
The majority of user agents (e.g., web browsers) encode non-US-ASCII characters in the request’s query string before submitting the request to our CDN. By default, our CDN service does not decode those characters.Curl does not encode non-US-ASCII characters.
-
Path
Identifies requests by the relative path of the request URL submitted by the client.
Key information:
-
Although you may configure Edgio to rewrite or redirect a URL, this relative path comparision will always be performed against the request URL submitted by the client. Use the Origin Path match condition to match on a rewritten or redirected URL.
-
This relative path starts directly after the hostname.
-
For the purpose of satisfying this condition, query strings in the URL are ignored.
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
-
Matching against URLs that contain non-US-ASCII characters requires that you specify encoded Unicode characters (e.g.,
%E3%81%93
).-
Encode all Unicode characters before setting the Value option. This match condition only accepts encoded Unicode characters.Example:You should include the following characters instead of こんにちは when defining this match condition’s value:
%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF
-
The majority of user agents (e.g., web browsers) encode non-US-ASCII characters in the request’s query string before submitting the request to our CDN. By default, our CDN service does not decode those characters.Curl does not encode non-US-ASCII characters.
-
POP Code
Identifies requests by the point-of-presence (POP) that processed the request. Set this match condition to the three-letter code for the desired POP.
Postal Code
Identifies requests by the postal code from which the request was issued.
Key information:
- Specify a postal code as an integer value.
- A comparison will only be performed against the first 3 characters for Canadian postal codes.
- A comparison will only be performed against the first 2 - 4 characters for United Kingdom postal codes.
- Certain requests may not return a valid postal code. A question mark (i.e.,
?
) will match requests for which a valid postal code could not be determined.
Progressive Download
Identifies requests by whether the device that issued the request supports the playback of audio/video while it is still being downloaded.
Query
Identifies requests by a query string parameter of the request URL submitted by the client.
Key information:
-
Although you may configure Edgio to rewrite or redirect a URL, this comparision will always be performed against the request URL submitted by the client. Use the Query Parameter match condition to match on a query string parameter for a rewritten or redirected URL.
-
Syntax:
<NAME>=<VALUE>
Example: The following value is only satisfied when the request submitted by the client contains a query string parameter whose name is country and whose value is US:country=US
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
-
Matching against URLs that contain non-US-ASCII characters requires that you specify encoded Unicode characters (e.g.,
%E3%81%93
).-
Encode all Unicode characters before setting the Value option. This match condition only accepts encoded Unicode characters.Example:You should include the following characters instead of こんにちは when defining this match condition’s value:
%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF
-
The majority of user agents (e.g., web browsers) encode non-US-ASCII characters in the request’s query string before submitting the request to our CDN. By default, our CDN service does not decode those characters.Curl does not encode non-US-ASCII characters.
-
Query Parameter
Identifies requests by the value assigned to a query string parameter in the request URL. This comparison is performed on rewritten or redirected URLs.
Key information:
-
Parameter name:
- Query parameter name comparisons are case-insensitive.
- Replace spaces in the parameter name with %20.
- Only query parameters whose name is an exact match to the specified value may satisfy this condition.
-
Parameter value:
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
-
Specify multiples values through a regular expression (e.g.,
value 1|value 2
).
-
Query String
Identifies requests by the query string of the requested URL. This query string comparison is performed on the request submitted by the client.
Key information:
-
You may configure Edgio to rewrite or redirect a URL. This comparison is performed before Edgio rewrites or redirects the request. Use the Origin Query String match condition to match on a query string of a rewritten or redirected URL.
-
The value associated with this match condition will be compared against the entire request’s query string.
-
For the purposes of this option, a query string starts with the first character after the question mark (?) delimiter for the query string. Therefore, the text specified in the Value option should not include a leading question mark (?).
-
Certain characters require URL encoding. Use the percentage symbol to URL encode the following characters:
- SPACE: %20
- &: %26
- %: %25
-
Matching against URLs that contain non-US-ASCII characters requires that you specify encoded Unicode characters (e.g.,
%E3%81%93
).-
Encode all Unicode characters before setting the Value option. This match condition only accepts encoded Unicode characters.Example:You should include the following characters instead of こんにちは when defining this match condition’s value:
%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF
-
The majority of user agents (e.g., web browsers) encode non-US-ASCII characters in the request’s query string before submitting the request to our CDN. By default, our CDN service does not decode those characters.Curl does not encode non-US-ASCII characters.
-
Random Integer
Identifies requests by performing a comparison against a random integer.
This condition is useful for applying an action to a random set of requests.
For example, if you set the maximum value to 2, then Edgio will randomly apply 0, 1, and 2 to each request. If you configure this condition to match when the value is greater than
1
, then you can apply a set of actions to approximately a third of your requests.Key information:
- This condition generates a random integer between 0 and a user-defined number for each request. Edgio will compare the number assigned to the request to the value defined within this condition.
- Define the maximum value for this random number generation through the Random Integer Range (from 0 to ?) option.
- Define the value to which Edgio will perform a comparison through the Value option.
Referring Domain
Identifies requests by the referrer’s hostname. A referrer’s hostname is determined by the
Referer
header.Key information:
- Specify multiples values through a regular expression (e.g.,
value 1|value 2
).
Region Code
Identifies requests by the code for the region (e.g., state or province) from which the request was issued.
Key information:
-
Identify the desired region by its region code. A region code consists of 1 to 3 alphanumeric characters. A region code is also known as a subdivision code. This code is the latter half of an ISO 3166-2 code.Example:The ISO 3166-2 code for California is
US-CA
. Therefore, the region code for California isCA
. -
Certain regions have two levels of subdivisions. The specified value will be compared against the most specific region code.Example:A request that originates from the Devon (aka Devonshire) county of England, which is part of the United Kingdom (
UK
), has the following subdivisions:GB
andDEV
. Requests from this county will be matched againstDEV
. -
Region codes are only unique within a country. In order to prevent false positives, we strongly recommend that you also add the Country match condition to your rule.Example:Requests from the following regions will report the same region code (i.e.,
SP
):- São Paulo, Brazil (
BR-SP
) - La Spezia, Italy (
IT-SP
) - Sandy Point, Bahamas (
BS-SP
)
- São Paulo, Brazil (
-
Certain requests may not return a valid region code. A question mark (i.e.,
?
) will match requests for which a valid region code could not be determined.
Release Date
Identifies requests by the date on which the device that issued the request was added to the WURFL database.
Format:
<YYYY>_<MM>
Example:
2022_december
Request Header
Identifies requests by request header value.
Key information:
-
Header name:
- Header name comparisons are case-insensitive.
- Replace spaces in the header name with
%20
. - Only request headers whose name is an exact match to the specified value may satisfy this condition.
-
Header value:
- Specify multiples values through a regular expression (e.g.,
value 1|value 2
).
- Specify multiples values through a regular expression (e.g.,
Resolution Height
Identifies requests by the height, in pixels, of the device that issued the request.
Key information:
- Specify height in pixels.
- Specify height as a whole number.
Resolution Width
Identifies requests by the width, in pixels, of the device that issued the request.
Key information:
- Specify width in pixels.
- Specify width as a whole number.
Response Age
Identifies requests through the
Age
response header. This header contains the time, in seconds, since the response was cached on the edge server through which it was served.Response Content Type
Identifies requests through the
Content-Type
response header. This header identifies the type of content returned in the response’s payload.Key information:
- Use a regular expression to specify multiple values (e.g.,
application\/json|text\/html
).
Response Edgecast Control
Identifies requests through the
Edgecast Control
response header.This match condition is designed to provide backwards-compatibility for customers migrated from Edgecast with specialized configurations. This match condition should not be used under any other circumstances.
Response Location
Identifies requests through the
Location
response header. This header identifies the URL to which the request should be redirected. One common use for this header is for redirect requests, such as 301
or 302
responses.Key information:
- Use a regular expression to specify multiple values (e.g.,
value 1|value 2
).
Response Set Cookie
Identifies requests whose response contains a
Set-Cookie
header with the specified value or pattern.Key information:
- Use a regular expression (e.g.,
value 1|value 2
) to specify multiple cookie values. - Edgio compares the specified value or pattern against the
Set-Cookie
header(s) defined in the response. - We strongly recommend the use of regular expressions when the response contains multiple
Set-Cookie
headers. Matching with theequals | does not equal
operators may produce unexpected results.
Response Status Code
Identifies requests whose response matches a HTTP status code.
Key information:
-
You may use this match condition to apply features that affect the response provided to the client. For example, you may set response headers, a response body, or HTTP status code for all requests whose HTTP status code is
404 Not Found
.You may use this match condition to instruct the client to redirect requests by setting aLocation
response header to the desired URL and the response status code to a3xx
(redirection) status code (e.g.,301
and302
).Edgio checks for this match condition upon receiving a response. At this point in the request flow, all features that correspond to the request or cache have already been applied.
Response Transfer Encoding
Identifies requests through the
Transfer-Encoding
response header. This header identifies the type of encoding that is safe to use when transferring the response’s payload.Key information:
- Specify multiples values through a regular expression (e.g.,
value 1|value 2
).
Response Vary
Identifies requests through the
Vary
response header. This header identifies factors, aside from method and URL, that determined the payload returned in the response. For example, this header may list the request headers that were used to determine the response’s payload.Key information:
- Specify multiples values through a regular expression (e.g.,
value 1|value 2
).
Response X-Cache
Identifies requests through the
x-cache
response header. This header is set to HIT
when a cached version of the requested content was served directly to the client by an edge server.Scheme
Identifies requests by their HTTP protocol: HTTP or HTTPS.
Virtual Destination Address
Identifies requests by the client’s IP address.
This match condition was introduced for backwards-compatibility. We recommend that you use the Client IP match condition instead.
Virtual HTTP Version
Identifies requests by the version of the client’s request protocol.
Wurfl Capability Device OS Version
Identifies requests by the version number of the OS installed on the device.
Key information:
- Use a regular expression to specify multiple values (e.g.,
value 1|value 2
).