
- Overview
- Behaviors
- adaptiveImageCompression
- advanced
- akamaizer
- akamaizerTag
- allHttpInCacheHierarchy
- allowCloudletsOrigins
- allowDelete
- allowPatch
- allowPost
- allowPut
- allowTransferEncoding
- apiPrioritization
- applicationLoadBalancer
- audienceSegmentation
- baseDirectory
- breakConnection
- cacheError
- cacheId
- cacheKeyIgnoreCase
- cacheKeyQueryParams
- cacheKeyRewrite
- cachePost
- cacheRedirect
- caching
- centralAuthorization
- chaseRedirects
- constructResponse
- continuousDeployment
- cpCode
- deliveryReceipt
- denyAccess
- deviceCharacteristicCacheId
- deviceCharacteristicHeader
- dnsAsyncRefresh
- dnsPrefresh
- downgradeProtocol
- downstreamCache
- edgeConnect
- edgeImageConversion
- edgeLoadBalancingAdvanced
- edgeLoadBalancingDataCenter
- edgeLoadBalancingOrigin
- edgeOriginAuthorization
- edgeRedirector
- edgeScape
- edgeSideIncludes
- enhancedAkamaiProtocol
- failAction
- fastInvalidate
- forwardRewrite
- frontEndOptimization
- g2oheader
- gzipResponse
- hdDataAdvanced
- healthDetection
- http2
- imageManager
- inputValidation
- instant
- instantConfig
- largeFileOptimization
- limitBitRate
- mediaFileRetrievalOptimization
- modifyIncomingRequestHeader
- modifyIncomingResponseHeader
- modifyOutgoingRequestHeader
- modifyOutgoingResponseHeader
- netSession
- networkConditionsHeader
- origin
- persistentClientConnection
- persistentConnection
- personallyIdentifiableInformation
- predictivePrefetching
- prefetch
- prefetchable
- prefreshCache
- randomSeek
- readTimeout
- realUserMonitoring
- redirect
- redirectplus
- refererChecking
- removeQueryParameter
- removeVary
- report
- requestControl
- responseCode
- responseCookie
- restrictObjectCaching
- rewriteUrl
- rmaOptimization
- saasDefinitions
- savePostDcaProcessing
- scheduleInvalidation
- segmentedContentProtection
- segmentedMediaOptimization
- setVariable
- shutr
- simulateErrorCode
- siteShield
- spdy
- subCustomer
- sureRoute
- tcpOptimization
- teaLeaf
- tieredDistribution
- timeout
- validateEntityTag
- verifyTokenAuthorization
- visitorPrioritization
- watermarkUrl
- webApplicationFirewall
- webdav
- webSockets
- Criteria
- bucket
- cacheability
- clientIp
- clientIpVersion
- cloudletsOrigin
- contentDeliveryNetwork
- contentType
- deviceCharacteristic
- fileExtension
- filename
- hostname
- matchAdvanced
- matchCpCode
- matchResponseCode
- matchVariable
- originTimeout
- path
- queryStringParameter
- random
- requestCookie
- requestHeader
- requestMethod
- requestProtocol
- responseHeader
- time
- tokenAuthorization
- userAgent
- userLocation
- userNetwork
- variableError
PAPI Feature Catalog Reference, v2016-11-15
All of the Property Manager API's behaviors and criteria that you use to control your edge content. Details a legacy dated rule format version.
Learn more:
Overview
The Property Manager API (PAPI) allows you to programmatically configure your web content on the Akamai edge network. As its main function, it activates rules that you assign to a set of hostnames. These rules modify how your origin content responds to your user’s requests on the Akamai edge network, often by applying and configuring Akamai products, or by applying your own customizations.
Along with the main guide that shows you how to use PAPI as a whole, this API reference provides additional details on all of the features that you can include within the set of rules. Features consist of either behaviors that specify actions affecting how your web content responds, or match criteria that determine the conditions under which those actions execute. The Behaviors and Criteria sections below provide details on the full set of available features.
Rule tree basics
PAPI’s Rule Trees section offers guidance on how rules are arranged as a tree structure that provide a simple programming environment. To summarize, each set of rules requires these two behaviors:
origin
, which specifies where to get the content from.cpCode
, which tracks each edge request for the purpose of reporting and billing.
You need to place those two behaviors in the top-level default rule. Each rule specifies a set of behaviors. You specify a set of criteria to execute the behaviors in any nested child rules. Within the rule tree, you can nest these rules five layers deep.
Each feature is a small JSON object that specifies its own set of
options. Options are often cross-dependent in various ways. For
example, you only specify your origin’s hostname
option if the
originType
enumeration is set to a CUSTOMER
origin. These
cross-dependencies are detailed throughout this reference.
The overall set of features available to you is determined by the product and set of modules associated with the property under your Akamai contract. You can get that information by running either of these PAPI operations:
Secure property requirements
For some of the behaviors detailed in this reference, you may need to
enable is_secure
on the top-level default rule. This is necessary to
apply a shared certificate across all hostnames. Some features require
is_secure
to be enabled.
See Rule Trees for more guidance on the default rule’s structure.
Read-only features
Some of the behaviors listed in this reference are identified as read-only. These advanced features typically specify raw XML metadata that may cause unexpected problems when executing on edge servers. Do not edit these behaviors when modifying rules trees, and do not alter the sequence of any read-only behaviors within each rule. Contact your Akamai representative for assistance if you need to modify one of these behaviors, or see the following in the main PAPI guide for more information:
Advanced and Locked Features for more details on read-only features.
Custom Behaviors and Overrides for a way to apply advanced behaviors to many properties.
Support for variables
Many of the feature options detailed in this reference support
variables. Along with read-only system variables, you can declare
your own set of dynamic variable strings at the top of the rule tree,
inject them in various features’ option values, and use the
setVariable
behavior to modify them along the way
within the rule tree. Within the main PAPI guide, see
Inserting Variables
and the sections that follow for more details on this capability.
About rule formats
Akamai often modifies PAPI features, each time deploying a new internal version of the feature. If you are using the Property Manager interface in Akamai Control Center, you may be prompted to upgrade to new feature versions as they become available. PAPI does not support this system of selective updates for each feature. Instead, PAPI’s rule objects are simply versioned as a whole. These versions, which update infrequently, are known as rule formats.
Rule formats are versioned by date, for example, v2017-06-19
, or the
most recent rule format titled latest
. When you specify a feature
within a rule tree assigned with the v2017-06-19
rule format, PAPI
uses the most recent version of the feature that rule format supports.
Only by updating to a newer rule format such as v2018-02-27
do you
upgrade to new versions of various features, which often allow an
expanded set of options and enumerations.
PAPI users should assign the most recent dated rule format to freeze
the set of features. Otherwise if you assign the latest
rule format,
features update automatically to their most recent version. This may
abruptly result in errors if JSON objects your rules specify no longer
comply with the most recent feature’s set of requirements. PAPI
provides a more stable path to update rule formats that fixes these
requirements for you. For more information, see Update Rules to a
Newer Set of
Features.
See Understanding Rule Formats for more information on PAPI’s rule format versioning system.
Behaviors
The following represents all rule behaviors the Property Manager API supports. The set available to you is determined by the product and modules associated with the property. Use the List Available Behaviors operation to get this information.
This reference specifies features used in the v2016-11-15
rule
format. See the PAPI Feature Catalog Reference
for details on the most recent feature set, which corresponds to the
latest
rule format.
adaptiveImageCompression
The Adaptive
Image Compression feature compresses JPEG images depending on the
requesting network’s performance, thus improving response time. The
behavior specifies three performance tiers based on round-trip tests:
1 for excellent, 2 for good, and 3 for poor. It assigns separate
performance criteria for mobile (cellular) and non-mobile networks,
which the compressMobile
and compressStandard
options enable
independently.
There are six method
options, one for each tier and type of network.
If the method
is COMPRESS
, choose from among the six corresponding
slider
options to specify a percentage. As an alternative to
compression, setting the method
to STRIP
removes unnecessary
application-generated metadata from the image. Setting the method
to
BYPASS
serves clients the original image.
The behavior serves ETags
headers as a data signature for each
adapted variation. In case of error or if the file size increases, the
behavior serves the original image file. Flushing the original image
from the edge cache also flushes adapted variants. The behavior
applies to the following image file extensions: jpg
, jpeg
, jpe
,
jif
, jfif
, and jfi
.
Options:
compressMobile
(boolean): When enabled, adapts images served over cellular mobile networks. (Option Previously Named:do_aic_mobile
.)
compressStandard
(boolean): When enabled, adapts images served over non-cellular networks. (Option Previously Named:do_aic_nonmobile
.)
tier1StandardCompressionMethod
(enum string): Specifies tier–1 non-cellular network behavior, eitherCOMPRESS
,STRIP
, orBYPASS
. (Option Previously Named:standard_comp_t1_method
. Capitalized enum values.)
tier1StandardCompressionValue
(number within 0–100 range): Withtier1StandardCompressionMethod
set toCOMPRESS
, this specifies the compression percentage. (Option Previously Named:standard_comp_t1_slider
.)
tier2StandardCompressionMethod
(enum string): Specifies tier–2 non-cellular network behavior, eitherCOMPRESS
,STRIP
, orBYPASS
. (Option Previously Named:standard_comp_t2_method
. Capitalized enum values.)
tier2StandardCompressionValue
(number within 0–100 range): Withtier2StandardCompressionMethod
set toCOMPRESS
, this specifies the compression percentage. (Option Previously Named:standard_comp_t2_slider
.)
tier3StandardCompressionMethod
(enum string): Specifies tier–5 non-cellular network behavior, eitherCOMPRESS
,STRIP
, orBYPASS
. (Option Previously Named:standard_comp_t5_method
. Capitalized enum values.)
tier3StandardCompressionValue
(number within 0–100 range): Withtier3StandardCompressionMethod
set toCOMPRESS
, this specifies the compression percentage. (Option Previously Named:standard_comp_t5_slider
.)
tier1MobileCompressionMethod
(enum string): Specifies tier–1 behavior, eitherCOMPRESS
,STRIP
, orBYPASS
. (Option Previously Named:mobile_comp_t1_method
. Capitalized enum values.)
tier1MobileCompressionValue
(number within 0–100 range): Withtier1MobileCompressionMethod
set toCOMPRESS
, this specifies the compression percentage. (Option Previously Named:mobile_comp_t1_slider
.)
tier2MobileCompressionMethod
(enum string): Specifies tier–2 cellular-network behavior, eitherCOMPRESS
,STRIP
, orBYPASS
. (Option Previously Named:mobile_comp_t2_method
. Capitalized enum values.)
tier2MobileCompressionValue
(number within 0–100 range): Withtier2MobileCompressionMethod
set toCOMPRESS
, this specifies the compression percentage. (Option Previously Named:mobile_comp_t2_slider
.)
tier3MobileCompressionMethod
(enum string): Specifies tier–5 cellular-network behavior, eitherCOMPRESS
,STRIP
, orBYPASS
. (Option Previously Named:mobile_comp_t5_method
. Capitalized enum values.)
tier3MobileCompressionValue
(number within 0–100 range): Withtier3MobileCompressionMethod
set toCOMPRESS
, this specifies the compression percentage. (Option Previously Named:mobile_comp_t5_slider
.)
Feature Previously Named: aic
Property Manager Name: Adaptive Image Compression
advanced
A read-only behavior that specifies Akamai XML metadata. It can only be configured on your behalf by Akamai Professional Services.
Options:
description
(string): Human-readable description of what the XML block does.
xml
(string): Akamai XML metadata.
Property Manager Name: Advanced
akamaizer
This read-only
behavior allows you to run
regular expression substitutions over web pages. Contact Akamai
Professional Services for help configuring the Akamaizer. See also the
akamaizerTag
behavior.
Options:
enabled
(boolean): Enables the Akamaizer behavior. (Option Previously Named:status
. Retyped as boolean.)
Property Manager Name: Akamaizer
akamaizerTag
This read-only
behavior specifies HTML tags
and replacement rules for hostnames used in conjunction with the
akamaizer
behavior. Contact Akamai
Professional Services for help configuring the Akamaizer.
Options:
matchHostname
(string): Specifies the hostname to match on as a Perl-compatible regular expression. (Option Previously Named:matchhostname
.)
replacementHostname
(string): Specifies the replacement hostname for the tag to use. (Option Previously Named:replacementhostname
.)
scope
(enum string): Specifies the part of HTML content thetagsAttribute
refers to:ATTRIBUTE
for whentagsAttribute
refers to a tag/attribute pair, the match only applies to the attribute.URL_ATTRIBUTE
is the same asATTRIBUTE
, but applies when the attribute value is a URL. In that case, it converts to an absolute URL prior to substitution.BLOCK
substitutes within the tag’s contents, but not within any nested tags.PAGE
ignores thetagsAttribute
field and performs the substitution on the entire page.
(Capitalized enum values. Changed
attr
enum value toATTRIBUTE
, andurlattr
toURL_ATTRIBUTE
.)
tagsAttribute
(enum string): Specifies the tag or tag/attribute combination to operate on, any of the following:
A A_HREF AREA AREA_HREF BASE BASE_HREF FORM FORM_ACTION IFRAME IFRAME_SRC IMG IMG_SRC LINK LINK_HREF SCRIPT SCRIPT_SRC TABLE TABLE_BACKGROUND TD TD_BACKGROUND
(Option Previously Named:
tags_attr
. Capitalized enum values.)
replaceAll
(boolean): Replaces all matches when enabled, otherwise replaces only the first match. (Option Previously Named:behavior
. Retyped as boolean.)
includeTagsAttribute
(boolean): Whether to include thetagsAttribute
value. (Option Previously Named:type
. Retyped as boolean.)
Feature Previously Named: akamaizertag
Property Manager Name: Akamaize Tag
allHttpInCacheHierarchy
Allow all HTTP
request methods to be used for the edge’s parent servers, useful to
implement features such as
SiteShield,
SureRoute,
and Tiered Distribution. (See the
siteShield
,
sureRoute
, and
tieredDistribution
behaviors.)
Options:
enabled
(boolean): Enables all HTTP requests for parent servers in the cache hierarchy. (Option Previously Named:allow
. Retyped as boolean.)
Feature Previously Named: enableallmethodscacheh
Property Manager Name: Allow All Methods on Parent Servers
allowCloudletsOrigins
Allows
Cloudlets Origins to determine the criteria, separately from the
Property Manager, under which alternate origin
definitions are assigned.
This behavior must appear alone within its own rule. When enabled, it
allows any cloudletsOrigin
criteria
within sub-rules to override the prevailing origin.
Options:
enabled
(boolean): Allows you to assign custom origin definitions referenced in sub-rules bycloudletsOrigin
labels. If disabled, all sub-rules are ignored.
honorBaseDirectory
(boolean): If enabled, prefixes any Cloudlet-generated origin path with a path defined by an Origin Base Path behavior. If no path is defined, it has no effect. If another Cloudlet policy already prepends the same Origin Base Path, the path is not duplicated.
purgeOriginQueryParameter
(string): When purging content from a Cloudlets Origin, this specifies a query parameter name whose value is the specific named origin to purge. Note that this only applies to content purge requests, for example when using the Fast Purge API.
Feature Previously Named: conditionalOriginBehavior
Property Manager Name: Allow Cloudlets Origins
allowDelete
Allow HTTP requests using the
DELETE method. By default, only GET and HEAD requests are allowed, and
all other methods result in a 403 error. Such content does not cache,
and any DELETE requests pass to the origin. See also
allowPost
, allowPut
, and
allowPatch
.
Options:
enabled
(boolean): When enabled, allows DELETE requests. Content does not cache. (Option Previously Named:allow
. Retyped as boolean.)
Feature Previously Named: allowdelete
Property Manager Name: Allow DELETE
allowPatch
Allow HTTP requests using the
PATCH method. By default, only GET and HEAD requests are allowed, and
all other methods result in a 403 error. Such content does not cache,
and any PATCH requests pass to the origin. See also
allowPut
, allowPost
, and
allowDelete
.
Options:
enabled
(boolean): When enabled, allows PATCH requests. Content does not cache. (Option Previously Named:allow
. Retyped as boolean.)
Feature Previously Named: allowpatch
Property Manager Name: Allow PATCH
allowPost
Allow HTTP requests using the
POST method. By default, only GET and HEAD are allowed, and all other
methods result in a 403 error. See also allowPut
,
allowDelete
, and allowPatch
.
Options:
enabled
(boolean): When enabled, allows POST requests. (Option Previously Named:allow
. Retyped as boolean.)
allowWithoutContentLength
(boolean): By default, POST requests also require aContent-Length
header, or they result in a 411 error. With this option enabled with no specifiedContent-Length
, the edge server relies on aTransfer-Encoding
header to chunk the data. If neither header is present, it assumes the request has no body, and it adds a header with a0
value to the forward request. (Option Previously Named:allow_without_content_length
. Retyped as boolean.)
Feature Previously Named: allowpost
Property Manager Name: Allow POST
allowPut
Allow HTTP requests using the
PUT method. By default, only GET and HEAD are allowed, and all other
methods result in a 403 error. Such content does not cache, and any
PUT requests pass to the origin. See also allowPost
,
allowDelete
, and allowPatch
.
Options:
enabled
(boolean): When enabled, allows PUT requests. Content does not cache. (Option Previously Named:allow
. Retyped as boolean.)
Feature Previously Named: allowput
Property Manager Name: Allow PUT
allowTransferEncoding
Controls whether to
allow or deny Chunked Transfer Encoding (CTE) requests to pass to your
origin. If your origin supports CTE, you should enable this behavior.
This behavior also protects against a known issue when pairing
http2
and webdav
behaviors within the same
rule tree, in which case it is required.
Options:
enabled
(boolean): Allows Chunked Transfer Encoding requests.
Property Manager Name: Chunked Transfer Encoding
apiPrioritization
Enables the API
Prioritization Cloudlet, which maintains continuity in user experience
by serving an alternate static response when load is too high. You can
configure rules using either the Cloudlets Policy Manager application
or the Cloudlets API. The
feature is designed to serve static API content, such as fallback JSON
data. To serve non-API HTML content, use the
visitorPrioritization
behavior.
Options:
enabled
(boolean): Activates the API Prioritization feature.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
label
(string): A label to distinguish this API Prioritization policy from any others in the same property.
useThrottledCpCode
(boolean): Specifies whether to apply an alternative CP code for requests served the alternate response.
throttledCpCode
(object): WithuseThrottledCpCode
enabled, this specifies the CP code as an object:"throttledCpCode": { "id" : 12345, "name" : "sent to waiting room" }
useThrottledStatusCode
(boolean): When enabled, allows you to assign a specific HTTP response code to a throttled request.
throttledStatusCode
(number): Withchange_response_code
enabled, specifies the HTTP response code for requests that receive the alternate response.
netStorage
(object): Specify the NetStorage domain that contains the alternate response. For example:"netStorage": { "id" : "id_string", "name" : "Waiting Room", "downloadDomainName" : "example.wait.akamai.com", "cpCode" : 12345 }
netStoragePath
(string): Specify the full NetStorage path for the alternate response, including trailing file name.
alternateResponseCacheTtl
(number within 5–30 range): Specifies the alternate response’s time to live in the cache,5
minutes by default.
Feature Previously Named: asset_prioritization
Property Manager Name: API Prioritization Cloudlet
applicationLoadBalancer
Enables the Application Load Balancer Cloudlet, which automates load balancing based on configurable criteria. To configure this behavior, use either the Cloudlets Policy Manager or the Cloudlets API to set up a policy.
Options:
enabled
(boolean): Activates the Application Load Balancer Cloudlet.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
label
(string): A label to distinguish this Application Load Balancer policy from any others within the same property.
stickinessCookieType
(enum string): Determines how a cookie persistently associates the client with a load-balanced origin. Specify an overallDURATION
or aFIXED_DATE
for when the cookie expires. SpecifyON_BROWSER_CLOSE
to limit the cookie duration to browser sessions. (After the cookie expires, the cookie type re-evaluates.) To preserve the cookie indefinitely, specifyNEVER
. To dynamically reassign different load-balanced origins for each request, specifyNONE
.
stickinessExpirationDate
(ISO 8601 format date/time string): WithstickinessCookieType
set toFIXED_DATE
, this specifies when the cookie expires.
stickinessDuration
(duration string): WithstickinessCookieType
set toDURATION
, sets how long it is before the cookie expires.
stickinessRefresh
(boolean): WithstickinessCookieType
set toDURATION
, enabling this extends the duration of the cookie with each new request. When enabled, theDURATION
thus specifies the latency between requests that would cause the cookie to expire.
failoverStatusCodes
(array of string values): Specifies a set of HTTP status codes that signal a failure on the origin, in which case the cookie that binds the client to that origin is invalidated and the client is rerouted to another available origin.
allDownNetStorage
(object): Specifies a NetStorage account for a static maintenance page as a fallback when no origins are available. This example shows the object’s structure:"allDownNetStorage": { "id" : "uniq_id", "name" : "Download Area", "downloadDomainName" : "download.example.akamai.com", "cpCode" : 12345 }
allDownNetStorageFile
(string): Specifies the fallback maintenance page’s filename, expressed as a full path from the root of the NetStorage server.
allDownStatusCode
(string): Specifies the HTTP response code when all load-balancing origins are unavailable.
Property Manager Name: Application Load Balancer Cloudlet
audienceSegmentation
Allows you to divide your users into different segments based on a persistent cookie. You can configure rules using either the Cloudlets Policy Manager application or the Cloudlets API.
Options:
enabled
(boolean): Enables the Audience Segmentation cloudlet feature.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
label
(string): Specifies a suffix to append to the cookie name. This helps distinguish this audience segmentation policy from any others within the same property.
segmentTrackingMethod
(enum string): Specifies the method to pass segment information to the origin. The Cloudlet passes the rule applied to a given request eitherIN_COOKIE_HEADER
,IN_QUERY_PARAM
,IN_CUSTOM_HEADER
, or the default,NONE
.
segmentTrackingQueryParam
(string): WithsegmentTrackingMethod
set toIN_QUERY_PARAM
, this query parameter specifies the name of the segmentation rule.
segmentTrackingCookieName
(string): WithsegmentTrackingMethod
set toIN_COOKIE_HEADER
, this cookie name specifies the name of the segmentation rule.
segmentTrackingCustomHeader
(string): WithsegmentTrackingMethod
set toIN_CUSTOM_HEADER
, this custom HTTP header specifies the name of the segmentation rule.
populationCookieType
(enum string): Specifies when the segmentation cookie expires, eitherON_BROWSER_CLOSE
,NEVER
, or based on a specificDURATION
.
populationDuration
(duration string): WithpopulationCookieType
set toDURATION
, specifies the lifetime of the segmentation cookie.
populationRefresh
(boolean): If disabled, sets the expiration time only if the cookie is not yet present in the request.
Feature Previously Named: audience_segmentation
Property Manager Name: Audience Segmentation Cloudlet
baseDirectory
Prefix URLs sent to the origin with a base path.
For example, with an origin of example.com
, setting the value
to
/images
sets the origin’s base path to example.com/images
. Any
request for a my_pics/home.jpg
file resolves on the origin server to
example.com/images/my_pics/home.jpg
.
Note that changing the origin’s base path also causes a change to the cache key. Until that resolves, it may cause a traffic spike to your origin server.
Options:
value
(string; allows variables): Specifies the base path of content on your origin server. The value must begin and end with a slash (/
) character, for example/parent/child/
. (Option Previously Named:basedir
.)
Feature Previously Named: basedir
Property Manager Name: Origin Base Path
breakConnection
A read-only
behavior that simulates an
origin connection problem, typically to test an accompanying
failAction
policy.
Options:
enabled
(boolean): Enables the break connection behavior. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: breakconnect
Property Manager Name: Break Forward Connection
cacheError
Caches the origin’s error responses to
decrease server load. Applies for 10 seconds by default to the
following HTTP codes: 204
, 305
, 400
, 404
, 405
, 501
, 502
,
503
, 504
, and 505
.
Options:
enabled
(boolean): When enabled, activates the error-caching behavior. (Retyped as boolean.)
ttl
(duration string): Overrides the default caching duration of10s
. Note that if set to0
, it is equivalent tono-cache
, which forces revalidation and may cause a traffic spike. This can be counterproductive when, for example, the origin is producing an error code of500
.
preserveStale
(boolean): When enabled, the edge server preserves stale cached objects when the origin returns400
,500
,502
,503
, and504
error codes. This avoids re-fetching and re-caching content after transient errors. (Option Previously Named:preservestale
. Retyped as boolean.)
Feature Previously Named: negativettl
Property Manager Name: Cache HTTP Error Responses
cacheId
Controls which query parameters, headers, and cookies are included in or excluded from the cache identifier.
Options:
rule
(enum string): Specifies how to modify the cache ID:INCLUDE_HEADERS
includes specified HTTP headers in the cache ID.INCLUDE_COOKIES
includes specified cookies in the cache ID.INCLUDE_ALL_QUERY_PARAMS
includes all query parameters when forming a cache ID.INCLUDE_QUERY_PARAMS
includes the specified set of query parameters when forming a cache ID.EXCLUDE_QUERY_PARAMS
excludes the specified set of query parameters when forming a cache ID.INCLUDE_URL
includes the full URL, the same as the default without thecacheid
behavior.
(Enum values now use underscore delimiters. Changed
excludeqs
enum value toEXCLUDE_QUERY_PARAMS
,includeallqs
toINCLUDE_ALL_QUERY_PARAMS
,includeck
toINCLUDE_COOKIES
,includehd
toINCLUDE_HEADERS
, andincludeqs
toINCLUDE_QUERY_PARAMS
.)
includeValue
(boolean): When enabled, includes the value of the specified elements in the cache ID. Otherwise only their names are included. (Option Previously Named:value
. Retyped as boolean.)
optional
(boolean): When enabled, requires the behavior’s specified elements to be present for content to cache. When disabled, requests that lack the specified elements are still cached. This option only applies when thetype
isINCLUDE_COOKIES
,INCLUDE_QUERY_PARAMS
,INCLUDE_HEADERS
, orEXCLUDE_QUERY_PARAMS
. (Retyped as boolean.)
elements
(array of string values): Specifies the names of the query parameters, cookies, or headers to include or exclude from the cache ID. This only applies when therule
isINCLUDE_COOKIES
,INCLUDE_HEADERS
,INCLUDE_QUERY_PARAMS
, orEXCLUDE_QUERY_PARAMS
. (Option Previously Named:elementlist
.)
Feature Previously Named: cacheid
Property Manager Name: Cache ID Modification
cacheKeyIgnoreCase
By default, cache keys
are generated under the assumption that path and filename components
are case-sensitive, so that File.html
and file.html
use separate
cache keys. Enabling this behavior forces URL components whose case
varies to resolve to the same cache key. Enable this behavior if your
origin server is already case-insensitive, such as those based on
Microsoft IIS.
With this behavior enabled, make sure any child rules do not match case-sensitive path components, or you may apply different settings to the same cached object.
Note that if already enabled, disabling this behavior potentially results in new sets of cache keys. Until these new caches are built, your origin server may experience traffic spikes as requests pass through. It may also result in cache pollution, excess cache space taken up with redundant content.
If you are using NetStorage in conjunction with this behavior, also set NetStorage’s Force Case option to match it, and make sure you name the original files consistently as either upper- or lowercase.
Options:
enabled
(boolean): When enabled, ignores case when forming cache keys. (Option Previously Named:ignore_case
. Retyped as boolean.)
Feature Previously Named: cachekeyignorecase
Property Manager Name: Ignore Case In Cache Key
cacheKeyQueryParams
By default, cache keys are formed as URLs with full query strings. This behavior allows you to consolidate cached objects based on specified sets of query parameters.
Note also that whenever you apply behavior that generates new cache keys, your origin server may experience traffic spikes before the new cache starts to serve out.
Options:
behavior
(enum string): Configures how sets of query string parameters translate to cache keys:IGNORE_ALL
causes query string parameters to be ignored when forming cache keys.IGNORE
orINCLUDE
makes the key depend on the sequence of values in theparameters
field.INCLUDE_ALL_PRESERVE_ORDER
forms a separate key for the entire set of query parameters, but sensitive to the order in which they appear. (For example,?q=akamai&state=ma
and?state=ma&q=akamai
cache separately.)INCLUDE_ALL_ALPHABETIZE_ORDER
forms keys for the entire set of parameters, but the order doesn’t matter. The examples above both use the same cache key.
Be careful when applying
behavior
not to ignore any parameters that result in substantially different content, as it is not reflected in the cached object. (Capitalized enum values, with underscore delimiters.)
parameters
(array of string values): Withbehavior
set toINCLUDE
orIGNORE
,parameters
specifies the set of parameter field names to include in or exclude from the cache key. By default, these match the field names as string prefixes.
exactMatch
(boolean): When enabled,parameters
must match exactly. Keep disabled to match string prefixes. (Option Previously Named:exact_match
. Retyped as boolean.)
Feature Previously Named: cachekeyqueryparams
Property Manager Name: Cache Key Query Parameters
cacheKeyRewrite
This read-only behavior rewrites a default cache key’s path. Contact Akamai Professional Services for help configuring it.
WARNING: This feature is in Beta, so please test thoroughly.
Options:
purgeKey
(string): Specifies the new cache key path as an alphanumeric value. (Option Previously Named:purgekey
.)
Feature Previously Named: cachekeyrewrite
Property Manager Name: Cache Key Path Rewrite (Beta)
cachePost
By default, POST requests are passed to the origin. This behavior overrides the default, and allows you to cache POST responses.
Options:
enabled
(boolean): Enables caching of POST responses. (Retyped as boolean.)
useBody
(enum string): Define how and whether to use the POST message body as a cache key:IGNORE
uses only the URL to cache the response.MD5
adds a string digest of the data as a query parameter to the cache URL.QUERY
adds the raw request body as a query parameter to the cache key, but only if the POST request’sContent-Type
isapplication/x-www-form-urlencoded
. (Use this in conjunction withcacheId
to define relevant query parameters.)
(Option Previously Named:
usebody
. Capitalized enum values.)
Feature Previously Named: postcaching
Property Manager Name: Cache POST Responses
cacheRedirect
Caches HTTP 302 redirect
responses. By default, Akamai edge servers cache HTTP 302 redirects
depending on their Cache-Control
or Expires
Headers. Enabling this
behavior instructs edge servers to cache 302 redirects the same as
they would for HTTP 200 responses.
Options:
enabled
(boolean): Enables the redirect caching behavior. (In the Beta API, please substitute"true"
and"false"
string values.)
Feature Previously Named: cache302
Property Manager Name: Cache HTTP Redirects
caching
Control content caching on edge
servers: whether or not to cache, whether to honor the origin’s
caching headers, and for how long to cache. Note that any NO_STORE
or BYPASS_CACHE
HTTP headers set on the origin’s content overrides
this behavior.
Options:
behavior
(enum string): Specify the caching option:NO_STORE
clears the cache and serves from the origin.BYPASS_CACHE
retains the cache but serves from the origin.- Honor the origin’s
MAX_AGE
header - Honor the origin’s
CACHE_CONTROL
header - Honor the origin’s
EXPIRES
header - Honor
CACHE_CONTROL_AND_EXPIRES
the origin’sCACHE_CONTROL
andEXPIRES
header, whichever comes last.
(Capitalized enum values, with underscore delimiters. Changed
cc
enum value toCACHE_CONTROL
, andboth
toCACHE_CONTROL_AND_EXPIRES
.)
mustRevalidate
(boolean): Determines what to do once the cached content has expired, by which time the Akamai platform should have re-fetched and validated content from the origin. If enabled, only allows the re-fetched content to be served. If disabled, may serve stale content if the origin is unavailable. (Option Previously Named:mustrevalidate
. Retyped as boolean.)
ttl
(duration string): The maximum time content may remain cached. Setting the value to0
is the same as setting ano-cache
header, which forces content to revalidate.
defaultTtl
(duration string): Set theMAX_AGE
header for the cached content. (Option Previously Named:defaultttl
.)
Property Manager Name: Caching
centralAuthorization
Forward client
requests to the origin server for authorization, along with optional
Set-Cookie
headers, useful when you need to maintain tight access
control. The edge server forwards an If-Modified-Since
header, to
which the origin needs to respond with a 304
(Not-Modified) HTTP
status when authorization succeeds. If so, the edge server responds to
the client with the cached object, since it does not need to be
re-acquired from the origin.
Options:
enabled
(boolean): Enables the centralized authorization behavior. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: centralauth
Property Manager Name: Centralized Authorization
chaseRedirects
Controls whether the edge server chases any redirects served from the origin.
Options:
enabled
(boolean): When enabled, allows edge servers to chase redirects. (Option Previously Named:status
. Retyped as boolean.)
limit
(string): Specifies, as a string, the maximum number of redirects to follow.
serve404
(boolean): Once the redirectlimit
is reached, enabling this option serves an HTTP404
(Not Found) error instead of the last redirect. (Retyped as boolean.)
Feature Previously Named: chaseredirects
Property Manager Name: Chase Redirects
constructResponse
A read-only behavior that constructs an HTTP response, complete with HTTP status code and body, to serve from the edge independently of your origin. Contact Akamai Professional Services for help configuring it.
Options:
enabled
(boolean): When enabled, serves the custom response. Enabling the behavior evicts the cached object associated with the request, since it is not being served. (Option Previously Named:status
. Retyped as boolean.)
body
(string; allows variables): HTML response of up to 2000 characters to send to the end-user client.
responseCode
(numeric enum): The HTTP response code to send to the end-user client, either200
or404
. (Option Previously Named:responsecode
. Retyped enum values as numeric.)
Feature Previously Named: construct_response
Property Manager Name: Construct Response
continuousDeployment
The Phased Release Cloudlet provides gradual and granular traffic management to an alternate origin in near real time. Use the Cloudlets API or the Cloudlets Policy Manager application within Control Center to set up your Cloudlets policies.
Options:
enabled
(boolean): Enables the Phased Release Cloudlet.
cloudletPolicy
(object): Specifies the Cloudlet policy as an object containing two members: a descriptivename
string and an integerid
set by the Cloudlet application.
label
(string): A label to distinguish this Phased Release policy from any others within the same property.
populationCookieType
(enum string): For the population of users the Cloudlet defines, select whether to assign a cookie to them, or elseNONE
. Other option values specify when the cookie expires: after a specificDURATION
, at aFIXED_DATE
, once the browser session ends (ON_BROWSER_CLOSE
), orNEVER
. If you select the Cloudlet’s random membership option, it overrides the option value so that it is effectivelyNONE
.
populationExpirationDate
(ISO 8601 format date/time string): With thepopulationCookieType
set toFIXED_DATE
, this specifies the date and time when membership expires, and the browser no longer sends the cookie. Subsequent requests re-evaluate based on current membership settings.
populationDuration
(duration string): With thepopulationCookieType
set toDURATION
, this sets the lifetime of the cookie from the initial request. Subsequent requests re-evaluate based on current membership settings.
populationRefresh
(boolean): With thepopulationCookieType
set toDURATION
, enabling this option resets the original duration of the cookie if the browser refreshes before the cookie expires.
failoverEnabled
(boolean): Allows failure responses at the origin defined by the Cloudlet to fail over to the prevailing origin defined by the property.
failoverResponseCode
(array of string values): WithfailoverEnabled
on, this defines the set of failure codes that initiate the failover response.
failoverDuration
(number within 0–300 range): Specifies the number of seconds to wait until the client tries to access the failover origin after the initial failure is detected. Set the value to0
to immediately request the alternate origin upon failure.
Property Manager Name: Phased Release Cloudlet
cpCode
Content Provider Codes (CP codes) allow you to distinguish various reporting and billing segments. You receive a CP code when purchasing Akamai service, and you need it to access properties. This behavior allows you to apply any valid CP code, including additional ones you may request from Akamai Professional Services. For a CP code to be valid, it must belong to the same contract and be associated with the same product as the property, and the group must have access to it.
Options:
value
(object): Specifies avalue
object, which includes anid
key and a descriptivename
:"value": { "id" : 12345, "name" : "my cpcode" }
(Option Previously Named:
cpcode
.)
Feature Previously Named: cpcode
Property Manager Name: Content Provider Code
deliveryReceipt
A static behavior that’s
required when specifying the Cloud
Monitor
module’s (edgeConnect
) behavior. You
can only apply this behavior if the property is marked as secure. See
Secure Property Requirements guidance.
Options:
enabled
(read-only string): Whenon
, enables the behavior. (Option Previously Named:status
.)
Feature Previously Named: receiptdelivery
Property Manager Name: Cloud Monitor Data Delivery
denyAccess
Assuming a condition in the
rule matches, this denies access to the requested content. For
example, a userLocation
match paired
with the denyaccess
behavior would deny requests from a specified
part of the world.
By keying on the value of the reason
option, denyaccess
behaviors
may override each other when called from nested rules. For example, a
parent rule might deny access to a certain geographic area, citing
"location"
as the reason
, but another nested rule can then allow
access for a set of IPs within that area, so long as the reason
matches.
Options:
enabled
(boolean): Denies access when enabled. (Option Previously Named:behavior
. Retyped as boolean.)
reason
(string): Text message that keys why access is denied. Any subsequentdenyaccess
behaviors within the rule tree may refer to the samereason
key to override the current behavior.
Feature Previously Named: denyaccess
Property Manager Name: Control Access
deviceCharacteristicCacheId
By default,
source URLs serve as cache IDs on edge servers. Electronic Data
Capture allows you to specify an additional set of device
characteristics to generate separate cache keys. Use this in
conjunction with the deviceCharacteristicHeader
behavior.
Options:
elements
(array of string values): Specifies a set of information about the device with which to generate a separate cache key, any of the following values:
ACCEPT_THIRD_PARTY_COOKIE AJAX_PREFERRED_GEOLOC_API AJAX_SUPPORT_JAVASCRIPT BRAND_NAME COOKIE_SUPPORT DEVICE_OS DEVICE_OS_VERSION DUAL_ORIENTATION FLASH_LITE_VERSION FULL_FLASH_SUPPORT GIF_ANIMATED HTML_PREFERRED_DTD IS_MOBILE IS_TABLET IS_WIRELESS_DEVICE JPG MARKETING_NAME MAX_IMAGE_HEIGHT MAX_IMAGE_WIDTH MOBILE_BROWSER MOBILE_BROWSER_VERSION MODEL_NAME PDF_SUPPORT PHYSICAL_SCREEN_HEIGHT PHYSICAL_SCREEN_WIDTH PNG PREFERRED_MARKUP RESOLUTION_HEIGHT RESOLUTION_WIDTH VIEWPORT_INITIAL_SCALE VIEWPORT_WIDTH XHTML_FILE_UPLOAD XHTML_PREFERRED_CHARSET XHTML_SUPPORT_LEVEL XHTML_SUPPORTS_IFRAME XHTML_SUPPORTS_TABLE_FOR_LAYOUT XHTML_TABLE_SUPPORT XHTMLMP_PREFERRED_MIME_TYPE
(Option Previously Named:
edc_elementlist
. Capitalized enum values.)
Feature Previously Named: edccacheid
Property Manager Name: Device Characterization - Define Cached Content
deviceCharacteristicHeader
Sends selected
information about requesting devices to the origin server, in the form
of an X-Akamai-Device-Characteristics
HTTP header. Use in
conjunction with the deviceCharacteristicCacheId
behavior.
Options:
elements
(array of string values): Specifies the set of information about the requesting device to send to the origin server, any of the following:
ACCEPT_THIRD_PARTY_COOKIE AJAX_PREFERRED_GEOLOC_API AJAX_SUPPORT_JAVASCRIPT BRAND_NAME COOKIE_SUPPORT DEVICE_OS DEVICE_OS_VERSION DUAL_ORIENTATION FLASH_LITE_VERSION FULL_FLASH_SUPPORT GIF_ANIMATED HTML_PREFERRED_DTD IS_MOBILE IS_TABLET IS_WIRELESS_DEVICE JPG MARKETING_NAME MAX_IMAGE_HEIGHT MAX_IMAGE_WIDTH MOBILE_BROWSER MOBILE_BROWSER_VERSION MODEL_NAME PDF_SUPPORT PHYSICAL_SCREEN_HEIGHT PHYSICAL_SCREEN_WIDTH PNG PREFERRED_MARKUP RESOLUTION_HEIGHT RESOLUTION_WIDTH VIEWPORT_INITIAL_SCALE VIEWPORT_WIDTH XHTML_FILE_UPLOAD XHTML_PREFERRED_CHARSET XHTML_SUPPORT_LEVEL XHTML_SUPPORTS_IFRAME XHTML_SUPPORTS_TABLE_FOR_LAYOUT XHTML_TABLE_SUPPORT XHTMLMP_PREFERRED_MIME_TYPE
(Option Previously Named:
edc_elementlist
. Capitalized enum values.)
Feature Previously Named: edcheader
Property Manager Name: Device Characterization - Forward in Header
dnsAsyncRefresh
Allow an edge server to use an expired DNS record when forwarding a request to your origin. The type A DNS record refreshes after content is served to the end user, so there is no wait for the DNS resolution. Avoid this behavior if you want to be able to disable a server immediately after its DNS record expires.
Options:
enabled
(boolean): When enabled, allows edge servers to refresh an expired DNS record after serving content. (Option Previously Named:status
. Retyped as boolean.)
timeout
(duration string): Set the maximum allowed time an expired DNS record may be active.
Feature Previously Named: dnsasyncrefresh
Property Manager Name: DNS Asynchronous Refresh
dnsPrefresh
A read-only behavior that allows edge servers to refresh your origin’s DNS record independently from end-user requests. The type A DNS record refreshes before the origin’s DNS record expires.
Options:
enabled
(boolean): When enabled, allows edge servers to refresh DNS records before they expire. (Option Previously Named:status
. Retyped as boolean.)
delay
(duration string): Specifies the amount of time following a DNS record’s expiration to asynchronously prefresh it.
timeout
(duration string): Specifies the amount of time to prefresh a DNS entry if there have been no requests to the domain name.
Feature Previously Named: dnsprefresh
Property Manager Name: DNS Prefresh
downgradeProtocol
Serve static objects to the end-user client over HTTPS, but fetch them from the origin via HTTP.
Options:
enabled
(boolean): Enables the protocol downgrading behavior. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: protocoldowngrade
Property Manager Name: Protocol Downgrade
downstreamCache
Specify the caching
instructions the edge server sends to the end user’s client or client
proxies. By default, the cache’s duration is whichever is less: the
remaining lifetime of the edge cache, or what the origin’s header
specifies. If the origin is set to no-store
or bypass-cache
, edge
servers send cache-busting headers downstream to prevent downstream
caching.
Options:
behavior
(enum string): Specify the caching instructions the edge server sends to the end user’s client. It accepts the following values:ALLOW
: The value ofallowBehavior
chooses the caching method and headers to send to the client.MUST_REVALIDATE
: This equates to aCache-Control: no-cache
header, which allows caching but forces the client browser to send anif-modified-since
request each time it requests the object.BUST
: Sends cache-busting headers downstream.TUNNEL_ORIGIN
: This passesCache-Control
andExpires
headers from the origin to the downstream client.NONE
: Don’t send any caching headers. Allow client browsers to cache content according to their own default settings.
(Capitalized enum values, with underscore delimiters.)
allowBehavior
(enum string): Specify how the edge server calculates the downstream cache by setting the value of theExpires
header:FROM_VALUE
sends the value of the edge cache’s duration.FROM_MAX_AGE
sends thecache:max-age
value applied to the object, without evaluating the cache’s duration.LESSER
sends the lesser value of what the origin specifies and the edge cache’s remaining duration. This is the default behavior.GREATER
sends the greater value of what the origin specifies and the edge cache’s remaining duration.REMAINING_LIFETIME
sends the value of the edge cache’s remaining duration, without comparing it to the origin’s headers.PASS_ORIGIN
sends the value of the origin’s header, without evaluating the edge cache’s duration.
(Option Previously Named:
allow_behavior
. Capitalized enum values, with underscore delimiters.)
ttl
(duration string): Set the duration of the cache. Setting the value to0
equates to ano-cache
header that forces revalidation.
sendHeaders
(enum string): Specifies the HTTP headers to include in the response to the client:PASS_ORIGIN
sends the same set ofCache-Control
andExpires
headers received from the origin.CACHE_CONTROL
sends only the origin’sCache-Control
header.EXPIRES
sends only the origin’sExpires
header.CACHE_CONTROL_AND_EXPIRES
sends bothCache-Control
andExpires
header.NONE
strips both headers.
(Option Previously Named:
headers_sent
. Enum values now use underscore delimiters. Changedcc-only
enum value toCACHE_CONTROL
,expires-only
toEXPIRES
, andboth
toCACHE_CONTROL_AND_EXPIRES
.)
sendPrivate
(boolean): When enabled, adds aCache-Control: private
header to prevent objects from being cached in a shared caching proxy. (Option Previously Named:send_private
. Retyped as boolean.)
Feature Previously Named: downstreamcaching
Property Manager Name: Downstream Cacheability
edgeConnect
Configures traffic logs for the Cloud Monitor push API.
Options:
enabled
(boolean): Enables Cloud Monitor’s log-publishing behavior. (Option Previously Named:publish
. Retyped as boolean.)
apiConnector
(enum string): Describes the API connector type, eitherDEFAULT
,BMC_APM
, orSIEM_JSON
. (Option Previously Named:api_connector
. Capitalized enum values.)
apiDataElements
(array of string values): Specifies the data set to log, any of the following values:
APM GEO HTTP NETWORK_PERFORMANCE NETWORK_V1 REQUEST_HEADER RESPONSE_HEADER SEC_APP_V2 SEC_RATE_DENY_V2 SEC_RATE_WARN_V2
(Option Previously Named:
api_data_elements
. Capitalized enum values, with underscore delimiters. Changedreqheader
enum value toREQUEST_HEADER
, andresheader
toRESPONSE_HEADER
.)
destinationHostname
(string): Specifies the target hostname accepting push API requests. (Option Previously Named:dest_host
.)
destinationPath
(string): Specifies the push API’s endpoint. (Option Previously Named:dest_path
.)
overrideAggregateSettings
(boolean): When enabled, overrides default log settings. (Option Previously Named:override_aggregate_settings
. Retyped as boolean.)
aggregateTime
(duration string): WithoverrideAggregateSettings
enabled, specifies how often logs are generated. (Option Previously Named:aggregate_time
.)
aggregateLines
(string): WithoverrideAggregateSettings
enabled, specifies the maximum number of lines to include in each log. (Option Previously Named:aggregate_lines
.)
aggregateSize
(string): WithoverrideAggregateSettings
enabled, specifies the log’s maximum size. (Option Previously Named:aggregate_size
.)
Feature Previously Named: edgeconnect
Property Manager Name: Cloud Monitor Instrumentation
edgeImageConversion
The Edge Image Converter offloads various image manipulation tasks to edge servers. This behavior specifies various predefined policies to apply.
Options:
enabled
(boolean): Enables the edge image conversion behavior. (Option Previously Named:eic_bool
. Retyped as boolean.)
failover
(boolean): If the request results in a server error, enabling this forwards it to the origin. (Option Previously Named:failover_option
. Retyped as boolean.)
usePolicy
(boolean): Enables a specified set of image conversion policies. (Option Previously Named:policy_bool
. Retyped as boolean.)
policies
(array): WithusePolicy
enabled, specifies commands that when present or not in the query string release an error code. (Option Previously Named:op_policy_table
.)
policyResponses
(numeric enum): Specifies the HTTP error code if anypolicies
conditions match, either400
,403
,404
, or409
. (Option Previously Named:op_policy_violation
. Retyped enum values as numeric.)
Feature Previously Named: edge_image_converter
Property Manager Name: Image Converter Settings
edgeLoadBalancingAdvanced
A read-only behavior that implements customized Edge Load Balancing features. Contact Akamai Professional Services for help configuring it.
Options:
description
(string): A description of what thexml
block does.
xml
(string): A block of Akamai XML metadata.
Feature Previously Named: elb_advanced
Property Manager Name: Edge Load Balancing: Advanced Metadata
edgeLoadBalancingDataCenter
The Edge Load Balancing module allows you to specify groups of data centers that implement load balancing, session persistence, and real-time dynamic failover. Enabling ELB routes requests contextually based on location, device, or network, along with optional rules you specify.
This behavior specifies details about a data center, and must be
paired in the same rule with an edgeLoadBalancingOrigin
behavior, which specifies its origin. An origin is an abstraction
that helps group a logical set of a website or application. It
potentially includes information about many data centers and cloud
providers, as well as many end points or IP addresses for each data
center. More than one data center can thus refer to the same origin.
Options:
originId
(string): Corresponds to theid
specified by theedgeLoadBalancingOrigin
behavior associated with this data center. (Option Previously Named:origin_id
.)
description
(string): Provides a description for the ELB data center, for your own reference. (Option Previously Named:alias
.)
hostname
(string): Specifies the data center’s hostname. (Option Previously Named:host
.)
cookieName
(string): If using session persistence, this specifies the value of the cookie named in the correspondingedgeLoadBalancingOrigin
behavior’scookie_name
option. (Option Previously Named:name
.)
enableFailover
(boolean): When enabled, allows you to specify failover rules. (Option Previously Named:enable_dc_failover
. Retyped as boolean.)
ip
(string): WithenableFailover
enabled, specifies this data center’s IP address. (Option Previously Named:ip_address
.)
failoverRules
(array): WithenableFailover
enabled, provides up to four failover rules to apply in the specified order. These rules appear as objects with the following fields:modify_request
(boolean): When enabled, allows you to modify the request’s hostname or path.override_hostname
(boolean): When enabled, overrides the request’s hostname with thefailover_hostname
.failover_hostname
: The hostname of the data center to fail over to.context_root
: Specifies the path to use in the forwarding request, typically the root (/
) when failing over to a different data center, or a full path such as/static/error.html
when failing over to an error page.absolute_path
(boolean): If enabled, the path specified bycontext_root
is interpreted as an absolute server path, for example to reference a site-down page. If disabled, the path is appended to the request.
(In the API’s beta version, please substitute boolean values with
"true"
or"false"
string values.)(Option Previously Named:
failover_rules
.)
Feature Previously Named: elb_data_center
Property Manager Name: Edge Load Balancing: Data Center
edgeLoadBalancingOrigin
The Edge Load Balancing module allows you to implement groups of data centers featuring load balancing, session persistence, and real-time dynamic failover. Enabling ELB routes requests contextually based on location, device, or network, along with optional rules you specify.
This behavior specifies the data center’s origin, and must be paired
in the same rule with at least one
edgeLoadBalancingDataCenter
behavior, which provides
details about a particular data center. An origin is an abstraction
that helps group a logical set of a website or application. It
potentially includes information about many data centers and cloud
providers, as well as many end points or IP addresses for each data
center. To specify an ELB origin, you must have configured an
origin
behavior whosetype
is set to
elb_origin_group
.
Options:
id
(string): Specifies a unique descriptive string for this ELB origin. The value must match theorigin_id
specified by theedgeLoadBalancingDataCenter
behavior associated with this origin.
description
(string): Provides a description for the ELB origin, for your own reference. (Option Previously Named:name
.)
hostname
(string): Specifies the hostname associated with the ELB rule. (Option Previously Named:host
.)
enableSessionPersistence
(boolean): When enabled, allows you to specify a cookie to pin the user’s browser session to one data center. When disabled, ELB’s default load balancing may send users to various data centers within the same session. (Option Previously Named:enable_session_persistence
. Retyped as boolean.)
cookieName
(string): WithenableSessionPersistence
enabled, this specifies the name of the cookie that marks users’ persistent sessions. The accompanyingedgeLoadBalancingDataCenter
behavior’sdescription
option specifies the cookie’s value. (Option Previously Named:cookie_name
.)
Feature Previously Named: elb_origin
Property Manager Name: Edge Load Balancing: Origin Definition
edgeOriginAuthorization
Allows the origin server to use a cookie to ensure requests from Akamai servers are genuine.
This behavior requires that you specify the cookie’s domain name, so it is best to deploy within a match of the hostname. It does not work properly when the origin server accepts more than one hostname (for example, using virtual servers) that do not share the same top-level domain.
Options:
enabled
(boolean): Enables the cookie-authorization behavior. (Retyped as boolean.)
cookieName
(string): Specifies the name of the cookie to use for authorization. (Option Previously Named:name
.)
value
(string): Specifies the value of the authorization cookie.
domain
(string): Specify the cookie’s domain, which must match the top-level domain of theHost
header the origin server receives.
Feature Previously Named: edgeoriginauth
Property Manager Name: Edge Server Identification
edgeRedirector
This behavior enables the Edge Redirector Cloudlet application, which is designed to help you manage large numbers of redirects. Assuming cloudlets are available on your contract, choose Configure⇒Cloudlets to control the Edge Redirector within Control Center. Otherwise use the Cloudlets API to configure it programmatically.
Options:
enabled
(boolean): Enables the Edge Redirector Cloudlet.
cloudletPolicy
(object): Specifies the Cloudlet policy as an object containing two members: a descriptivename
string and an integerid
set by the Cloudlet application.
Feature Previously Named: edge_redirector
Property Manager Name: Edge Redirector Cloudlet
edgeScape
EdgeScape
allows you to customize content based on the end user’s geographic
location or connection speed. When enabled, the edge server sends a
special X-Akamai-Edgescape
header to the origin server encoding
relevant details about the end-user client as key-value pairs.
Options:
enabled
(boolean): When enabled, sends theX-Akamai-Edgescape
request header to the origin. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: edgescape
Property Manager Name: Content Targeting (EdgeScape)
edgeSideIncludes
Allows edge servers to process edge side include (ESI) code to generate dynamic content. Since this behavior requires more parsing time, you should not apply it to pages with no ESI code, or to any non-HTML content.
Options:
enabled
(boolean): Enables ESI processing. (Option Previously Named:status
. Retyped as boolean.)
enableViaHttp
(boolean): Enable ESI only for content featuring the following HTTP response header:Edge-control: dca=esi
(Option Previously Named:responseheaders
. Retyped as boolean.)
passSetCookie
(boolean): When enabled, allows edge servers to pass your origin server’s cookies to the ESI processor. (Option Previously Named:passsetcookie
. Retyped as boolean.)
passClientIp
(boolean): When enabled, allows edge servers to pass the client IP header to the ESI processor. (Option Previously Named:passsclientip
. Retyped as boolean.)
i18nStatus
(boolean): When enabled, provides internationalization support for ESI. (Option Previously Named:i18nstatus
. Retyped as boolean.)
i18nCharset
(array of string values): Withi18nStatus
enabled, specifies the character sets to use when transcoding the ESI language,UTF-8
andISO-8859-1
for example. (Option Previously Named:i18ncharset
.)
Feature Previously Named: esi
Property Manager Name: ESI (Edge Side Includes)
enhancedAkamaiProtocol
Enables the Enhanced Akamai Protocol, a suite of advanced routing and transport optimizations that increase your website’s performance and reliability. It is only available to specific applications, and requires a special routing from edge to origin.
WARNING: Disabling this behavior may significantly reduce a property’s performance.
This behavior does not include any options. Specifying the behavior itself enables it.
Feature Previously Named: enhancedakamaiprotocol
Property Manager Name: Enhanced Akamai Protocol
failAction
Specifies how to respond when the origin is not available: by serving stale content, by serving an error page, or by redirecting.
Options:
enabled
(boolean): When enabled in case of a failure to contact the origin, the current behavior applies. (Option Previously Named:status
. Retyped as boolean.)
actionType
(enum string): Specifies the basic action to take when there is a failure to contact the origin:SERVE_STALE
serves content that is already in the cache.REDIRECT
specifies a redirect action. (Use with these options:redirectHostnameType
,redirectHostname
,redirectCustomPath
,redirectPath
,redirectMethod
,modifyProtocol
, andprotocol
.)RECREATED_CEX
serves alternate content from an external network. (Use with these options:cexHostname
,cexCustomPath
, andcexPath
.)RECREATED_CO
serves alternate content from your network. (Use with these options:contentHostname
,contentCustomPath
, andcontentPath
.)RECREATED_NS
serves NetStorage content. (Use with these options:netStorageHostname
,netStoragePath
, andcpCode
.)DYNAMIC
allows you to serve dynamic SaaS content if SaaS acceleration is available on your contract. (Use with these options:dynamicMethod
,dynamicCustomPath
,saasType
,saasSuffix
,saasRegex
, andsaasReplace
.)
(Option Previously Named:
type
. Capitalized enum values, with underscore delimiters.)
cpCode
(object): WhenactionType
isRECREATED_NS
, this specifies a cpcode for which to log errors for the NetStorage location. It appears as an object that includes anid
key and a descriptivename
:"cpCode": { "id" : 12345, "name" : "my cpcode" }
(Option Previously Named:
cpcode
.)
netStorageHostname
(object): When theactionType
isRECREATED_NS
, specifies the NetStorage origin to serve the alternate content, as in the example below. Contact Akamai Professional Services for your NetStorage origin’sid
."netStorageHostname": { "id" : "id_string", "name" : "Example Downloads", "downloadDomainName" : "example.download.akamai.com", "cpCode" : 12345 }
(Option Previously Named:
nshostname
.)
netStoragePath
(string; allows variables): When theactionType
isRECREATED_NS
, specifies the path for the NetStorage request. (Option Previously Named:nspath
.)
redirectMethod
(numeric enum): When theactionType
isREDIRECT
, specifies the HTTP response code, either301
or302
. (Option Previously Named:redirectmethod
. Retyped enum values as numeric.)
redirectHostnameType
(enum string): When theactionType
isREDIRECT
, this specifies whether to preserve theORIGINAL
hostname in the redirect, or whether to use anALTERNATE
hostname specified withredirectHostname
. (Option Previously Named:redirecthostnametype
. Capitalized enum values.)
redirectHostname
(string; allows variables): When theactionType
isREDIRECT
and theredirectHostnameType
isALTERNATE
, this specifies the hostname for the redirect. (Option Previously Named:redirecthostname
.)
redirectCustomPath
(boolean): When theactionType
isREDIRECT
, enabling this allows you useredirectPath
to customize a new path. (Option Previously Named:redirectcustompath
. Retyped as boolean.)
redirectPath
(string; allows variables): When theactionType
isREDIRECT
, this specifies a new path. (Option Previously Named:redirectpath
.)
modifyProtocol
(boolean): When theactionType
isREDIRECT
, or if thedynamicMethod
is eitherSERVE_301
orSERVE_302
, enabling this allows you to modify the redirect’s protocol using the value of theprotocol
field. (Option Previously Named:modifyproto
. Retyped as boolean.)
protocol
(enum string): When theactionType
isREDIRECT
andmodifyProtocol
is enabled, this specifies the redirect’s protocol, eitherHTTP
orHTTPS
. (Option Previously Named:proto
.)
preserveQueryString
(boolean): When using eithercontentCustomPath
,cexCustomPath
,dynamicCustomPath
, orredirectCustomPath
to specify a custom path, enabling this passes in the original request’s query string as part of the path. (Option Previously Named:preservequerystring
. Retyped as boolean.)
cexHostname
(string; allows variables): WhenactionType
isRECREATED_CEX
, this specifies a hostname. (Option Previously Named:cexhostname
.)
cexCustomPath
(boolean): WhenactionType
isRECREATED_CEX
, enabling this allows you to specify a custom path. (Option Previously Named:cexcustompath
. Retyped as boolean.)
cexPath
(string; allows variables): WhenactionType
isRECREATED_CEX
andcexCustomPath
is enabled, this specifies a custom path. (Option Previously Named:cexpath
.)
contentHostname
(string; allows variables): When theactionType
isRECREATED_CO
, specifies the static hostname for the alternate redirect. (Option Previously Named:cohostname
.)
contentCustomPath
(boolean): When theactionType
isRECREATED_CO
, enabling this allows you to specify a custom redirect path. (Option Previously Named:cocustompath
. Retyped as boolean.)
contentPath
(string; allows variables): When theactionType
isRECREATED_CO
andcontentCustomPath
is enabled, this specifies a custom redirect path. (Option Previously Named:copath
.)
dynamicMethod
(enum string): With theactionType
set toDYNAMIC
, specifies the redirect method, eitherSERVE_301
,SERVE_302
, orSERVE_ALTERNATE
. (Option Previously Named:dynamic_method
. Enum values now use underscore delimiters.)
dynamicCustomPath
(boolean): When enabled, allows you to modify the original requested path. (Option Previously Named:dynamiccustompath
. Retyped as boolean.)
dynamicPath
(string; allows variables): WithdynamicCustomPath
enabled, specifies the new path. (Option Previously Named:dynamicpath
.)
saasType
(enum string): Identifies the component of the request that identifies the SaaS dynamic failaction: eitherCOOKIE
,HOSTNAME
,PATH
, orQUERY_STRING
. (Option Previously Named:saas_type
. Capitalized enum values.)
saasSuffix
(string; allows variables): WithactionType
set toDYNAMIC
, specifies the static portion of the SaaS dynamic failaction. (Option Previously Named:saas_suffix
.)
saasRegex
(string): WithactionType
set toDYNAMIC
, specifies the substitution pattern (a Perl-compatible regular expression) that defines the SaaS dynamic failaction. (Option Previously Named:saas_regex
.)
saasReplace
(string; allows variables): WithactionType
set toDYNAMIC
, specifies the replacement pattern that defines the SaaS dynamic failaction. (Option Previously Named:saas_replace
.)
saasCnameEnabled
(boolean): With thesaasType
set toHOSTNAME
, specifies whether to use a CNAME chain to determine the hostname for the SaaS dynamic failaction. (Option Previously Named:saas_cname_enabled
. Retyped as boolean.)
saasCnameLevel
(number): WithsaasCnameEnabled
on, specifies the number of elements in the CNAME chain backwards from the edge hostname that determines the hostname for the SaaS dynamic failaction. (Option Previously Named:saas_cname_level
.)
saasCookie
(string; allows variables): WithsaasType
set toCOOKIE
, specifies the name of the cookie that identifies this SaaS dynamic failaction. (Option Previously Named:saas_cookie
.)
saasQueryString
(string; allows variables): WithsaasType
set toQUERY_STRING
, specifies the name of the query parameter that identifies this SaaS dynamic failaction. (Option Previously Named:saas_query_string
.)
Feature Previously Named: failaction
Property Manager Name: Site Failover
fastInvalidate
Applies Akamai’s Fast
Purge feature to selected edge content, invalidating it within
approximately five seconds. This behavior sends an
If-Modified-Since
request to the origin for subsequent requests,
replacing it with origin content if its timestamp is more recent.
Otherwise if the origin lacks a Last-Modified
header, it sends a
simple GET request. Note that this behavior does not simply delete
content if more recent origin content is unavailable. See the
Fast Purge API for an
independent way to invalidate selected sets of content, and for more
information on the feature.
Options:
enabled
(boolean): When enabled, forces a validation test for all edge content to which the behavior applies.
Property Manager Name: Fast Invalidate
forwardRewrite
The Forward Rewrite Cloudlet allows you to conditionally modify the forward path in edge content without affecting the URL that displays in the user’s address bar. If cloudlets are available on your contract, choose Configure⇒Cloudlets to control how this feature works, or use the Cloudlets API to configure it programmatically.
Options:
enabled
(boolean): Enables the Forward Rewrite Cloudlet behavior.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
Feature Previously Named: forward_rewrite
Property Manager Name: Forward Rewrite Cloudlet
frontEndOptimization
This behavior enables Front End Optimization, a suite of performance enhancements that accelerate page rendering and reduce download times, for example by minifying JavaScript and CSS.
Options:
enabled
(boolean): Enables the front-end optimization behavior. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: feo
Property Manager Name: Front-End Optimization (FEO)
g2oheader
The signature header authentication (g2o) security feature provides header-based verification of outgoing origin requests. Edge servers encrypt request data in a pre-defined header, which the origin uses to verify that the edge server processed the request. This behavior configures the request data, header names, encryption algorithm, and shared secret to use for verification.
Options:
enabled
(boolean): Enables the g2o verification behavior. (Option Previously Named:status
. Retyped as boolean.)
dataHeader
(string): Specifies the name of the header that contains the request data that needs to be encrypted. (Option Previously Named:data_header
.)
signedHeader
(string): Specifies the name of the header containing encrypted request data. (Option Previously Named:signed_header
.)
encodingVersion
(numeric enum): Specifies the version of the encryption algorithm as an integer from1
through5
. (Option Previously Named:encoding_version
. Retyped enum values as numeric.)
useCustomSignString
(boolean): When disabled, the encrypted string is based on the forwarded URL. If enabled, you can usecustomSignString
to customize the set of data to encrypt. (Option Previously Named:sign_string_status
. Retyped as boolean.)
customSignString
(array of string values): WithuseCustomSignString
enabled, specifies the set of data to be encrypted as a combination of concatenated strings, any of the following values:
AK_CLIENT_REAL_IP AK_DOMAIN AK_EXTENSION AK_FILENAME AK_HOSTHEADER AK_METHOD AK_PATH AK_QUERY AK_SCHEME AK_URL
(Option Previously Named:
sign_string
.)
secretKey
(string): Specifies the shared secret key. (Option Previously Named:secret_key
.)
nonce
(string): Specifies the cryptographic nonce string.
Property Manager Name: Signature Header Authentication
gzipResponse
Apply gzip compression to speed transfer time. The behavior applies best to text content such as HTML, CSS, and JavaScript, especially once it exceeds about 10KB. Do not apply it to already compressed image formats, or to small files that would add more time to uncompress.
Options:
behavior
(enum string): Specify when to compress responses, eitherALWAYS
,NEVER
, orORIGIN_RESPONSE
to clients that send anAccept-Encoding: gzip
header. (Capitalized enum values.)
Feature Previously Named: gzipresponse
Property Manager Name: Last Mile Acceleration (Gzip Compression)
hdDataAdvanced
A read-only
behavior that specifies Akamai
XML metadata that can only be configured on your behalf by Akamai
Professional Services. Unlike the
advanced
behavior, this may apply a
different set of overriding metadata that executes in a
post-processing phase.
Options:
description
(string): Human-readable description of what the XML block does.
xml
(string): A block of Akamai XML metadata.
Feature Previously Named: hddata_advanced
Property Manager Name: HD Data Override: Advanced Metadata
healthDetection
Monitors the health of your origin server by tracking unsuccessful attempts to contact it. Use this behavior to keep end users from having to wait several seconds before a forwarded request times out, or to reduce requests on the origin server when it is unavailable.
When client requests are forwarded to the origin, the edge server
tracks the number of attempts to connect to each IP address. It cycles
through IP addresses in least-recently-tested order to avoid hitting
the same one twice in a row. If the number of consecutive
unsuccessful tests reaches a threshold you specify, the behavior
identifies the address as faulty and stops sending requests. The edge
server returns an error message to the end user or else triggers any
failAction
behavior you specify.
Options:
retryCount
(number): The number of consecutive connection failures that mark an IP address as faulty. (Option Previously Named:ip_retrycount
.)
retryInterval
(duration string): Specifies the amount of time the edge server will wait before trying to reconnect to an IP address it has already identified as faulty. (Option Previously Named:ip_retry_interval
.)
maximumReconnects
(number): Specifies the maximum number of times the edge server will contact your origin server. If your origin is associated with several IP addresses,maximumReconnects
effectively overrides the value ofretryCount
. (Option Previously Named:max_reconnects
.)
Feature Previously Named: healthdetect
Property Manager Name: Origin Health Detection
http2
Enables the HTTP/2 protocol, which reduces latency and improves efficiency. You can only apply this behavior if the property is marked as secure. See Secure Property Requirements for guidance.
This behavior does not include any options. Specifying the behavior itself enables it.
Property Manager Name: HTTP/2
imageManager
Optimizes images’ size or file type for the requesting device. You can also use this behavior to generate API tokens to apply your own policies to matching images using the Image Manager API.
Options:
enabled
(boolean): Enable image management capabilities and generate a corresponding API token. (Option Previously Named:image_management_enabled
. Retyped as boolean.)
resize
(boolean): Specify whether to scale down images to the maximum screen resolution, as determined by the rendering device’s user agent. Note that enabling this may affect screen layout in unexpected ways. (Option Previously Named:resize_enabled
. Retyped as boolean.)
applyBestFileType
(boolean): Specify whether to convert images to the best file type for the requesting device, based on its user agent and the initial image file. This produces the smallest file size possible that retains image quality. (Option Previously Named:best_file_type_enabled
. Retyped as boolean.)
superCacheRegion
(enum string): Specifies a location for your site’s heaviest traffic, for use in caching derivatives on edge servers. Possible values areUS
,JAPAN
,ASIA
,AUSTRALIA
, orEMEA
(Europe, Middle East, and Africa).
cpCodeOriginal
(object): Assigns a CP code to track traffic and billing for original images that the Image Manager has not modified. The value is expressed as an object with a singleid
member paired with an integer value, for example:"cpCodeOriginal": { "id": 12345 }
.
cpCodeTransformed
(object): Assigns a separate CP code to track traffic and billing for derived images. The value is expressed as an object with a singleid
member paired with an integer value, for example:"cpCodeTransformed": { "id": 12345 }
.
advanced
(boolean): When enabled, allows you to generate a custom Image Manager API token to apply a corresponding policy to this set of images. The token consists of a descriptive label (thepolicyToken
) concatenated with a property-specific identifier that’s generated when you save the property. The API registers the token when you activate the property. (Option Previously Named:advanced_settings_enabled
. Retyped as boolean.)
policyToken
(string): Withadvanced
enabled, assign a prefix label to help match the policy token to this set of images, limited to 32 alphanumeric or underscore characters. If you don’t specify a label, default becomes the prefix. (Option Previously Named:api_key
.)
policyTokenDefault
(string): Specify the default policy identifier, which is registered with the Image Manager API once you activate this property. Theadvanced
option must be inactive. (Option Previously Named:api_key_default
.)
Feature Previously Named: imagemanagement
Property Manager Name: Image Manager
inputValidation
The Input Validation Cloudlet detects anomalous edge requests and helps mitigate repeated invalid requests. You can configure it using either the Cloudlets Policy Manager application, available within Control Center in Configure⇒Cloudlets, or the Cloudlets API.
Use this behavior to specify criteria that identifies each unique end user, and optionally supplement the Input Validation policy with additional criteria your origin uses to identify invalid requests. Specify the threshold number of invalid requests that triggers a penalty, and the subsequent response. Also specify an ordinary failure response for those who have not yet met the threshold, which should not conflict with any other behavior that defines a failure response.
Options:
enabled
(boolean): Applies the Input Validation Cloudlet behavior.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
label
(string): Distinguishes this Input Validation policy from any others within the same property.
userIdentificationByCookie
(boolean): When enabled, identifies users by the value of a cookie.
userIdentificationKeyCookie
(string): WithuserIdentificationByCookie
enabled, this specifies the cookie name whose value must remain constant across requests to identify a user.
userIdentificationByIp
(boolean): When enabled, identifies users by specific IP address. Do not enable this if you are concerned about DDoS attacks from many different IP addresses.
userIdentificationByHeaders
(boolean): When enabled, identifies users by specific HTTP headers on GET or POST requests.
userIdentificationKeyHeaders
(array of string values): WithuserIdentificationByHeaders
enabled, this specifies the HTTP headers whose combined set of values identify each end user.
userIdentificationByParams
(boolean): When enabled, identifies users by specific query parameters on GET or POST requests.
userIdentificationKeyParams
(array of string values): WithuserIdentificationByParams
enabled, this specifies the query parameters whose combined set of values identify each end user.
allowLargePostBody
(boolean): Fails POST request bodies that exceed 16 KB when enabled, otherwise allows them to pass with no validation for policy compliance.
resetOnValid
(boolean): Upon receiving a valid request, enabling this resets thepenaltyThreshold
counter to zero. Otherwise, even those series of invalid requests that are interrupted by valid requests may trigger thepenaltyAction
. (In the Beta API, please substitute"true"
and"false"
string values.)
validateOnOriginWith
(enum string): For any validation that edge servers can’t perform alone, this specifies additional validation steps based on how the origin identifies an invalid request. If a request is invalid, the origin can indicate this to the edge server either with aRESPONSE_CODE
orRESPONSE_CODE_AND_HEADER
. If no additional validation is necessary, specifyDISABLED
.
validateOnOriginHeaderName
(string): IfvalidateOnOriginWith
is set toRESPONSE_CODE_AND_HEADER
, this specifies the header name for a request that the origin identifies as invalid.
validateOnOriginHeaderValue
(string): IfvalidateOnOriginWith
is set toRESPONSE_CODE_AND_HEADER
, this specifies an invalid request’s header value that corresponds to thevalidateOnOriginHeaderName
.
validateOnOriginResponseCode
(number): UnlessvalidateOnOriginWith
isDISABLED
, this identifies the integer response code for requests the origin identifies as invalid.
failure302Uri
(string): Specifies the redirect link for invalid requests that have not yet triggered a penalty.
penaltyThreshold
(number): Specifies the number of invalid requests permitted before executing thepenaltyAction
.
penaltyAction
(enum string): Once thepenaltyThreshold
of invalid requests is met, this specifies the response, eitherBRANDED_403
,BLANK_403
orREDIRECT_302
.
penalty302Uri
(string): WithpenaltyAction
set toREDIRECT_302
, this specifies the redirect link for end users who trigger the penalty.
penaltyNetStorage
(object): WithpenaltyAction
set toBRANDED_403
, this specifies the NetStorage account that serves out the penalty’s static 403 response content. Details appear in an object featuring adownloadDomainName
string member that identifies the NetStorage hostname, and an integercpCode
to track the traffic.
penalty403NetStoragePath
(string): WithpenaltyAction
set toBRANDED_403
, this specifies the full path to the static 403 response content relative to thedownloadDomainName
in thepenaltyNetStorage
object.
penaltyBrandedDenyCacheTtl
(number within 5–30 range): WithpenaltyAction
set toBRANDED_403
, this specifies the penalty response’s time to live in the cache,5
minutes by default.
Property Manager Name: Input Validation Cloudlet
instant
The Instant feature allows you to prefetch content to the edge cache by adding link relation attributes to markup. For example:
<a href="page2.html" rel="Akamai-prefetch">Page 2</a>
Default link relation values are prefetch
and Akamai-prefetch
.
Applies only to HTML elements that may specify an external file:
<a>
, <base>
, <img>
, <script>
, <input>
, <link>
, <table>
,
<td>
, or <th>
. (For the latter three, some legacy browsers support
a nonstandard background
image attribute.)
This behavior provides an alternative to the
prefetch
and
prefetchable
behaviors, which allow
you to configure more general prefetching behavior outside of
markup.
Options:
prefetchCacheable
(boolean): When enabled, applies prefetching only to objects already set to be cacheable, for example using thecaching
behavior. Only applies to content with thetieredDistribution
behavior enabled. (Option Previously Named:prefetch_cacheable
. Retyped as boolean.)
prefetchNoStore
(boolean): Allows otherwise non-cacheableno-store
content to prefetch if the URL path ends with/
to indicate a request for a default file, or if the extension matches the value of theprefetchNoStoreExtensions
option. Only applies to content with thesureRoute
behavior enabled. (Option Previously Named:prefetch_no_store
. Retyped as boolean.)
prefetchNoStoreExtensions
(array of string values): Specifies a set of file extensions for which theprefetchNoStore
option is allowed. (Option Previously Named:prefetch_no_store_ext
.)
prefetchHtml
(boolean): When enabled, allows edge servers to prefetch additional HTML pages while pages that link to them are being delivered. This only applies to links from<a>
or<link>
tags with the appropriate link relation attribute. (Option Previously Named:prefetch_html
. Retyped as boolean.)
customLinkRelations
(array of string values): Specify link relation values that activate the prefetching behavior. For example, specifyingfetch
allows you to use shorterrel="fetch"
markup. (Option Previously Named:customize_rel_attr
.)
Property Manager Name: Akamai Instant (Prefetching)
instantConfig
Multi-Domain Configuration, also known as InstantConfig, allows you to apply property settings to all incoming hostnames based on a DNS lookup, without explicitly listing them among the property’s hostnames.
Options:
enabled
(boolean): Enables the InstantConfig behavior. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: mdc
Property Manager Name: InstantConfig
largeFileOptimization
The Large File
Optimization
feature improves performance and reliability when delivering large
files. This behavior is required for objects larger than 1.8GB, and
recommended for anything over 100MB. You should apply it only to the
specific content to be optimized, such as a download directory’s .gz
files, and enable the useVersioning
option while enforcing your own
filename versioning policy. Note that it is best to use
NetStorage for
objects larger than 1.8GB.
Options:
enabled
(boolean): Enables the file optimization behavior. (Option Previously Named:status
. Retyped as boolean.)
enablePartialObjectCaching
(enum string): Caches entire objects if set toNON_PARTIAL_OBJECT_CACHING
. Otherwise when set toPARTIAL_OBJECT_CACHING
, allows partial-object caching, which always applies to large objects served from NetStorage. To enable this, the origin must support byte range requests. (Option Previously Named:lfo_type
. Changedpoc
toPARTIAL_OBJECT_CACHING
, andnonpoc
toNON_PARTIAL_OBJECT_CACHING
.)
minimumSize
(string): Optimization only applies to files larger than this, expressed as a number suffixed with a unit string such asMB
orGB
. (Option Previously Named:min_size
.)
maximumSize
(string): Optimization does not apply to files larger than this, expressed as a number suffixed with a unit string such asMB
orGB
. (Option Previously Named:max_size
.)
useVersioning
(boolean): WhenenablePartialObjectCaching
is set toPARTIAL_OBJECT_CACHING
, enabling this option signals your intention to vary filenames by version, strongly recommended to avoid serving corrupt content when chunks come from different versions of the same file. (Option Previously Named:filenames_changed
. Retyped as boolean.)
Feature Previously Named: largefileoptimizations
Property Manager Name: Large File Optimization
limitBitRate
Control the rate at which
content is served to end users, optionally varying the speed depending
on the file size or elapsed download time. Each bit rate specified in
the bitrateTable
array corresponds to a thresholdTable
entry that
activates it. You can use this behavior to prevent media downloads
from progressing faster than they are viewed, for example, or to
differentiate various tiers of end-user experience.
Options:
enabled
(boolean): When enabled, activates the bit rate limiting behavior. (Option Previously Named:option
. Retyped as boolean.)
bitrateTable
(array): Specifies a download rate that corresponds to athresholdTable
entry. The bit rate appears as a two-member object consisting of a numericbitrateValue
and abitrateUnit
string, with allowed values ofKbps
,Mbps
, andGbps
. For example:"bitrateTable": [ { "bitrateValue": 1, "bitrateUnit": "Kbps" } ]
thresholdTable
(array): Specifies the minimum size of the file or the amount of elapsed download time before applying the bit rate limit from the correspondingbitrateTable
entry. The threshold appears as a two-member object consisting of a numericthresholdValue
andthresholdUnit
string, with allowed values ofs
orB
. This example throttles a download that lasts more than 5 seconds:"thresholdTable": [ { "thresholdValue": 5, "thresholdUnit": "s" } ]
Feature Previously Named: bitratelimiting
Property Manager Name: Bit Rate Limiting
mediaFileRetrievalOptimization
Media File Retrieval Optimization (MFRO) speeds the delivery of large media files by relying on caches of partial objects. It is recommended for files larger than 100 MB, is required for files larger than 1.8 GB, and works best with NetStorage.
Options:
enabled
(boolean): Enables the partial-object caching behavior. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: mfro
Property Manager Name: Media File Retrieval Optimization
modifyIncomingRequestHeader
Modify, add, remove, or pass along specific request headers coming upstream from the client.
Depending on the type of action
you want to perform, specify the
corresponding standard header name, or a customHeaderName
if the
standard name is set to OTHER
. The headerValue
serves as a match
condition when the action is DELETE
or MODIFY
, and the
newHeaderValue
applies when the action is ADD
or MODIFY
.
See also modifyIncomingResponseHeader
,
modifyOutgoingRequestHeader
, and
modifyOutgoingResponseHeader
.
Options:
action
(enum string): EitherADD
,DELETE
,MODIFY
, orPASS
incoming HTTP request headers. (Capitalized enum values.)
standardAddHeaderName
(enum string): If the value ofaction
isADD
, this specifies the name of the field to add, eitherACCEPT_ENCODING
,ACCEPT_LANGUAGE
, orOTHER
. (Option Previously Named:standard_add_header_name
. Capitalized enum values, with underscore delimiters.)
standardDeleteHeaderName
(enum string): If the value ofaction
isDELETE
, this specifies the name of the field to remove, eitherIF_MODIFIED_SINCE
,VIA
, orOTHER
. (Option Previously Named:standard_delete_header_name
. Capitalized enum values, with underscore delimiters.)
standardModifyHeaderName
(enum string): If the value ofaction
isMODIFY
, this specifies the name of the field to modify, eitherACCEPT_ENCODING
,ACCEPT_LANGUAGE
, orOTHER
. (Option Previously Named:standard_modify_header_name
. Capitalized enum values, with underscore delimiters.)
standardPassHeaderName
(enum string): If the value ofaction
isPASS
, this specifies the name of the field to pass through, eitherACCEPT_ENCODING
,ACCEPT_LANGUAGE
, orOTHER
. (Option Previously Named:standard_pass_header_name
. Capitalized enum values, with underscore delimiters.)
customHeaderName
(string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set toOTHER
. (Option Previously Named:custom_header_name
.)
headerValue
(string; allows variables): With theaction
set toADD
, specifies the new header value. (Option Previously Named:header_value
.)
newHeaderValue
(string; allows variables): With theaction
set toMODIFY
, supplies an HTTP header replacement value. (Option Previously Named:new_header_value
.)
avoidDuplicateHeaders
(boolean): When enabled with theaction
set toMODIFY
, prevents creation of more than one instance of a header. (Option Previously Named:multi_headers_avoidance
. Retyped as boolean.)
Feature Previously Named: modincomingreqheader
Property Manager Name: Modify Incoming Request Header
modifyIncomingResponseHeader
Modify, add, remove, or pass along specific response headers coming downstream from the origin.
Depending on the type of action
you want to perform, specify the
corresponding standard header name, or a customHeaderName
if the
standard name is set to OTHER
. The headerValue
serves as a match
condition when the action is DELETE
or MODIFY
, and the
newHeaderValue
applies when the action is ADD
or MODIFY
.
See also modifyIncomingRequestHeader
,
modifyOutgoingRequestHeader
, and
modifyOutgoingResponseHeader
.
Options:
action
(enum string): EitherADD
,DELETE
,MODIFY
, orPASS
incoming HTTP response headers. (Capitalized enum values.)
standardAddHeaderName
(enum string): If the value ofaction
isADD
, this specifies the name of the field to add, any of the following values:
CACHE_CONTROL CONTENT_TYPE EDGE_CONTROL EXPIRES LAST_MODIFIED OTHER
(Option Previously Named:
standard_add_header_name
. Capitalized enum values, with underscore delimiters.)
standardDeleteHeaderName
(enum string): If the value ofaction
isDELETE
, this specifies the name of the field to remove, eitherCACHE_CONTROL
,CONTENT_TYPE
,VARY
, orOTHER
. (Option Previously Named:standard_delete_header_name
. Capitalized enum values, with underscore delimiters.)
standardModifyHeaderName
(enum string): If the value ofaction
isMODIFY
, this specifies the name of the field to modify, eitherCACHE_CONTROL
,CONTENT_TYPE
,EDGE_CONTROL
, orOTHER
. (Option Previously Named:standard_modify_header_name
. Capitalized enum values, with underscore delimiters.)
standardPassHeaderName
(enum string): If the value ofaction
isPASS
, this specifies the name of the field to pass through, eitherCACHE_CONTROL
,EXPIRES
,PRAGMA
, orOTHER
. (Option Previously Named:standard_pass_header_name
. Capitalized enum values, with underscore delimiters.)
customHeaderName
(string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set toOTHER
. (Option Previously Named:custom_header_name
.)
headerValue
(string; allows variables): With theaction
set toADD
, specifies the header’s new value. (Option Previously Named:header_value
.)
newHeaderValue
(string): With theaction
set toMODIFY
, specifies an HTTP header replacement value. (Option Previously Named:new_header_value
.)
avoidDuplicateHeaders
(boolean): When enabled with theaction
set toMODIFY
, prevents creation of more than one instance of a header. (Option Previously Named:multi_headers_avoidance
. Retyped as boolean.)
Feature Previously Named: modincomingrespheader
Property Manager Name: Modify Incoming Response Header
modifyOutgoingRequestHeader
Modify, add, remove, or pass along specific request headers going upstream towards the origin.
Depending on the type of action
you want to perform, specify the
corresponding standard header name, or a customHeaderName
if the
standard name is set to OTHER
. The headerValue
serves as a match
condition when the action is DELETE
or MODIFY
, and the
newHeaderValue
applies when the action is ADD
or MODIFY
.
Whole-text replacements apply when the action is MODIFY
, and
substitutions apply when set to REGEX
.
See also modifyIncomingRequestHeader
,
modifyIncomingResponseHeader
, and
modifyOutgoingResponseHeader
.
Options:
action
(enum string): EitherADD
orDELETE
outgoing HTTP request headers,MODIFY
their fixed values, or specify aREGEX
pattern to transform them. (Capitalized enum values.)
standardAddHeaderName
(enum string): If the value ofaction
isADD
, this specifies the name of the field to add, eitherUSER_AGENT
orOTHER
. (Option Previously Named:standard_add_header_name
. Capitalized enum values, with underscore delimiters.)
standardDeleteHeaderName
(enum string): If the value ofaction
isDELETE
, this specifies the name of the field to remove, eitherPRAGMA
,USER_AGENT
,VIA
, orOTHER
. (Option Previously Named:standard_delete_header_name
. Capitalized enum values, with underscore delimiters.)
standardModifyHeaderName
(enum string): If the value ofaction
isMODIFY
orREGEX
, this specifies the name of the field to modify, eitherUSER_AGENT
orOTHER
. (Option Previously Named:standard_modify_header_name
. Capitalized enum values, with underscore delimiters.)
customHeaderName
(string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set toOTHER
. (Option Previously Named:custom_header_name
.)
headerValue
(string; allows variables): With theaction
set toADD
, specifies the new header value. (Option Previously Named:header_value
.)
newHeaderValue
(string): With theaction
set toMODIFY
, specifies an HTTP header replacement value. (Option Previously Named:new_header_value
.)
regexHeaderMatch
(string; allows variables): When theaction
isREGEX
, specifies a Perl-compatible regular expression to match within the header value. (Option Previously Named:regex_header_match
.)
regexHeaderReplace
(string; allows variables): When theaction
isREGEX
, specifies text that replaces theregexHeaderMatch
pattern within the header value. (Option Previously Named:regex_header_replace
.)
matchMultiple
(boolean): When enabled with theaction
set toREGEX
, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled. (Option Previously Named:match_multiple
. Retyped as boolean.)
avoidDuplicateHeaders
(boolean): When enabled with theaction
set toMODIFY
, prevents creation of more than one instance of a header. (Option Previously Named:multi_headers_avoidance
. Retyped as boolean.)
Feature Previously Named: modoutgoingreqheader
Property Manager Name: Modify Outgoing Request Header
modifyOutgoingResponseHeader
Modify, add, remove, or pass along specific response headers going downstream towards the client.
Depending on the type of action
you want to perform, specify the
corresponding standard header name, or a customHeaderName
if the
standard name is set to OTHER
. The headerValue
serves as a match
condition when the action is DELETE
or MODIFY
, and the
newHeaderValue
applies when the action is ADD
or MODIFY
.
Whole-text replacements apply when the action is MODIFY
, and
substitutions apply when set to REGEX
.
See also modifyIncomingRequestHeader
,
modifyIncomingResponseHeader
, and
modifyOutgoingRequestHeader
Options:
action
(enum string): EitherADD
orDELETE
outgoing HTTP response headers,MODIFY
their fixed values, or specify aREGEX
pattern to transform them. (Capitalized enum values.)
standardAddHeaderName
(enum string): If the value ofaction
isADD
, this specifies the name of the field to add, any of the following values:
ACCESS_CONTROL_ALLOW_CREDENTIALS ACCESS_CONTROL_ALLOW_HEADERS ACCESS_CONTROL_ALLOW_METHODS ACCESS_CONTROL_ALLOW_ORIGIN ACCESS_CONTROL_EXPOSE_HEADERS ACCESS_CONTROL_MAX_AGE CACHE_CONTROL CONTENT_DISPOSITION CONTENT_TYPE EDGE_CONTROL OTHER P3P PRAGMA
(Option Previously Named:
standard_add_header_name
. Capitalized enum values, with underscore delimiters.)
standardDeleteHeaderName
(enum string): If the value ofaction
isDELETE
, this specifies the name of the field to remove, any of the following values:
ACCESS_CONTROL_ALLOW_CREDENTIALS ACCESS_CONTROL_ALLOW_HEADERS ACCESS_CONTROL_ALLOW_METHODS ACCESS_CONTROL_ALLOW_ORIGIN ACCESS_CONTROL_EXPOSE_HEADERS ACCESS_CONTROL_MAX_AGE CACHE_CONTROL CONTENT_DISPOSITION CONTENT_TYPE EXPIRES OTHER P3P PRAGMA
(Option Previously Named:
standard_delete_header_name
. Capitalized enum values, with underscore delimiters.)
standardModifyHeaderName
(enum string): If the value ofaction
isMODIFY
orREGEX
, this specifies the name of the field to modify, any of the following values:
ACCESS_CONTROL_ALLOW_CREDENTIALS ACCESS_CONTROL_ALLOW_HEADERS ACCESS_CONTROL_ALLOW_METHODS ACCESS_CONTROL_ALLOW_ORIGIN ACCESS_CONTROL_EXPOSE_HEADERS ACCESS_CONTROL_MAX_AGE CACHE_CONTROL CONTENT_DISPOSITION CONTENT_TYPE OTHER P3P PRAGMA
(Option Previously Named:
standard_modify_header_name
. Capitalized enum values, with underscore delimiters.)
customHeaderName
(string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set toOTHER
. (Option Previously Named:custom_header_name
.)
headerValue
(string; allows variables): Specifies the existing value of the header to match. (Option Previously Named:header_value
.)
newHeaderValue
(string; allows variables): With theaction
set toMODIFY
, specifies the new HTTP header replacement value. (Option Previously Named:new_header_value
.)
regexHeaderMatch
(string): When theaction
isREGEX
, specifies a Perl-compatible regular expression to match within the header value. (Option Previously Named:regex_header_match
.)
regexHeaderReplace
(string; allows variables): When theaction
isREGEX
, specifies text that replaces theregexHeaderMatch
pattern within the header value. (Option Previously Named:regex_header_replace
.)
matchMultiple
(boolean): When enabled with theaction
set toREGEX
, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled. (Option Previously Named:match_multiple
. Retyped as boolean.)
avoidDuplicateHeaders
(boolean): When enabled with theaction
set toMODIFY
, prevents creation of more than one instance of a header. The last header clobbers others with the same name. This option affects the entire set of outgoing headers, and is not confined to the subset of regular expression matches. (Option Previously Named:multi_headers_avoidance
. Retyped as boolean.)
Feature Previously Named: modoutgoingrespheader
Property Manager Name: Modify Outgoing Response Header
netSession
This behavior enables various features of NetSession, a client-side download manager application that’s especially appropriate for large file downloads. For the feature to work, the end user must download the DLM client.
Options:
enabled
(boolean): Enables NetSession DLM capabilities for this content. (Option Previously Named:netsession
. Retyped as boolean.)
enableDomain
(boolean): … (Option Previously Named:enable_domain
. Retyped as boolean.)
enableDownloadManager
(boolean): When enabled, launches files once they are fully downloaded. For example, specify this option to run an executable application. (Option Previously Named:enable_dlm
. Retyped as boolean.)
enableDownloadClients
(boolean): When enabled, allows download clients to form a peer-to-peer network to reduce transmission time. (Option Previously Named:enable_download_clients
. Retyped as boolean.)
disableReporting
(boolean): Disable download state reporting via HTTP beacon messages. Otherwise when enabled, you can view the state of each download by choosing Monitor⇒Download Analytics on the DLM client. (Option Previously Named:disable_reporting
. Retyped as boolean.)
resumeUrl
(array of string values): Specify an alternate domain from which to resume a paused download. This generates a corresponding shortcut link on the end user’s desktop that disappears after the download is complete. (Option Previously Named:resume_url
.)
organizationName
(string): The name of the organization that displays in the NetSession client DLM interface. (Option Previously Named:org_name
.)
supportUrl
(string): A supporting link to theorganizationName
that displays in the NetSession client DLM interface. (Option Previously Named:support_url
.)
Feature Previously Named: netsession
Property Manager Name: NetSession
networkConditionsHeader
Instructs edge
servers to send an X-Akamai-Network-Condition
header to the origin
assessing the quality of the network.
Options:
behavior
(enum string): If set toTWO_TIER
, assessment is eitherExcellent
orPoor
. If set toTHREE_TIER
, the assessment can also beFair
. (Changed2tier
enum value toTWO_TIER
, and3tier
toTHREE_TIER
.)
Feature Previously Named: networkconditionsheader
Property Manager Name: Network Conditions Header
origin
Specify the hostname and settings used to contact the origin once service begins. You can use your own origin, NetStorage, an Edge Load Balancing origin, or a SaaS dynamic origin.
Options:
originType
(enum string): Choose whether your content is retrieved from your own server (CUSTOMER
), your NetStorage account (NET_STORAGE
), any available Edge Load Balancing origin (EDGE_LOAD_BALANCING_ORIGIN_GROUP
), a set of Application Load Balancer origins (APPLICATION_LOAD_BALANCER
), or a SaaS dynamic origin (SAAS_DYNAMIC_ORIGIN
) if SaaS acceleration is available on your contract. NetStorage is most appropriate for static content. (Option Previously Named:type
. Capitalized enum values, with underscore delimiters. Changedelb_origin_group
enum value toEDGE_LOAD_BALANCING_ORIGIN_GROUP
.)
netStorage
(object): If theoriginType
isNET_STORAGE
, this option specifies the details of the netstorage server. For example:"netStorage": { "id" : "id_string", "name" : "Example Downloads", "downloadDomainName" : "example.download.akamai.com", "cpCode" : 12345 }
(Option Previously Named:
netstorage
.)
originId
(string): With theoriginType
set toEDGE_LOAD_BALANCING_ORIGIN_GROUP
, identifies the Edge Load Balancing origin. This must correspond to anedgeLoadBalancingOrigin
behavior’sid
attribute within the same property. (Option Previously Named:origin_id
.)
hostname
(string; allows variables): With theoriginType
set toCUSTOMER
, this specifies the hostname or IPv4 address of your origin server, from which edge servers can retrieve your content.
saasType
(enum string): WithoriginType
set toSAAS_DYNAMIC_ORIGIN
, specifies the part of the request that identifies this SaaS dynamic origin, eitherPATH
,COOKIE
,QUERY_STRING
, orHOSTNAME
. (Option Previously Named:saas_type
. Capitalized enum values.)
saasCnameEnabled
(boolean): WithsaasType
set toHOSTNAME
, enabling this allows you to use a CNAME chain to determine the hostname for this SaaS dynamic origin. (Option Previously Named:saas_cname_enabled
. Retyped as boolean.)
saasCnameLevel
(number): WithsaasType
set toHOSTNAME
andsaasCnameEnabled
on, specifies the desired number of hostnames to use in the CNAME chain, starting backwards from the edge server. (Option Previously Named:saas_cname_level
.)
saasCookie
(string): With theoriginType
set toSAAS_DYNAMIC_ORIGIN
and thesaasType
set toCOOKIE
, this specifies the name of the cookie that identifies this SaaS dynamic origin. (Option Previously Named:saas_cookie
.)
saasQueryString
(string): With theoriginType
set toSAAS_DYNAMIC_ORIGIN
and thesaasType
set toQUERY_STRING
, this specifies the name of the query parameter that identifies this SaaS dynamic origin. (Option Previously Named:saas_query_string
.)
saasRegex
(string): With theoriginType
set toSAAS_DYNAMIC_ORIGIN
, this specifies the Perl-compatible regular expression match that identifies this SaaS dynamic origin. (Option Previously Named:saas_regex
.)
saasReplace
(string): Specifies replacement text for whatsaasRegex
matches. (Option Previously Named:saas_replace
.)
saasSuffix
(string): With theoriginType
set toSAAS_DYNAMIC_ORIGIN
, specifies the static part of the SaaS dynamic origin. (Option Previously Named:saas_suffix
.)
forwardHostHeader
(enum string): When theoriginType
is set to eitherCUSTOMER
orSAAS_DYNAMIC_ORIGIN
, this specifies whichHost
header to pass to the origin:REQUEST_HOST_HEADER
passes the original request’s header.ORIGIN_HOSTNAME
passes the current origin’sHOSTNAME
.CUSTOM
passes the value ofcustomForwardHostHeader
. Use this option if you want requests handled by different properties to converge on the same cached object.
(Option Previously Named:
forwardhostheader
. Capitalized enum values, with underscore delimiters.)
customForwardHostHeader
(string): WithforwardHostHeader
set toCUSTOM
, this specifies the name of the custom host header the edge server should pass to the origin. (Option Previously Named:customforwardhostheader
.)
cacheKeyHostname
(enum string): With theoriginType
set toCUSTOM
, this specifies the hostname to use when forming a cache key. SpecifyORIGIN_HOSTNAME
if your origin server’s responses do not depend on the hostname, otherwise specifyREQUEST_HOST_HEADER
when using a virtual server. (Option Previously Named:cachekeyhostname
. Enum values now use underscore delimiters.)
compress
(boolean): Enables gzip compression for non-NetStorage origins. (Option Previously Named:compression
. Retyped as boolean.)
enableTrueClientIp
(boolean): When enabled on non-NetStorage origins, allows you to send a custom header (thetrueClientIpHeader
) identifying the IP address of the immediate client connecting to the edge server. This may provide more useful information than the standardX-Forward-For
header, which proxies may modify. (Option Previously Named:tcip_enabled
. Retyped as boolean.)
trueClientIpHeader
(string): WithenableTrueClientIp
enabled, this specifies the name of the field that identifies the end client’s IP address, for exampleTrue-Client-IP
. (Option Previously Named:tcip_header
.)
trueClientIpClientSetting
(boolean): WithenableTrueClientIp
on along with this option, if a client sets theTrue-Client-IP
header, the edge server allows it and passes the value to the origin. Otherwise the edge server removes it and sets the value itself. (Option Previously Named:tcip_allow_clients_to_set
. Retyped as boolean.)
verificationMode
(enum string): For non-NetStorage origins, maximize security by controlling which certificates edge servers should trust, eitherPLATFORM_SETTINGS
,THIRD_PARTY
when your origin server references certain types of third-party hostname, orCUSTOM
. TheCUSTOM
option only applies if the property is marked as secure. See Secure Property Requirements for guidance. Under some products, you may also need to enable the Secure Delivery - Customer Cert module. Contact your Akamai representative for details. (Option Previously Named:origin_cert_delegate
. Capitalized enum values. Changeddelegate
enum value toPLATFORM_SETTINGS
. Removedwarn
enum value.)
originTlsChoice
(enum string): For non-NetStorage origins, maximize security by controlling which TLS or SSL versions to use or fall back to when going forward to the origin. Setting the value toTLSV1_2
,TLSV1_1
, orTLSV1
enforces TLS versions 1.2, 1.1, or 1.0, respectively. Setting the value toDYNAMIC
specifies the latest TLS version (1.2) and falls back to each previous version if necessary. Setting the value toSELECT
allows you to use theoriginTlsSelectValues
option below to add SSL 3.0 to a custom sequence to try. Contact your Akamai representative if you need help comparing TLS and SSL.
originTlsSelectValues
(array of string values): WithoriginTlsChoice
set toSELECT
, this specifies a custom sequence of TLS and SSL protocols to try to use when going forward to origin, any of these values:TLSv1.2
,TLSv1.1
,TLSv1
, andSSLv3
. An additionalDYNAMIC
value specifies the highest TLS version the origin accepts.
originSni
(boolean): For non-NetStorage origins, enabling this adds a Server Name Indication (SNI) header in the SSL request sent to the origin, with the origin hostname as the value. Contact your Akamai representative for more information.
customValidCnValues
(array of string values): WithverificationMode
set toCUSTOM
, specifies values to look for in the origin certificate’sSubject Alternate Name
orCommon Name
fields. Specify{{Origin Hostname}}
and{{Forward Host Header}}
as variables in the order you want them to be evaluated. (Option Previously Named:origin_cert_valid_cn_other
.)
originCertsToHonor
(enum string): WithverificationMode
set toCUSTOM
, specifies whether to trust pinned origin server certificates (CUSTOM_CERTIFICATES
), any certificate signed by an Akamai-managed authority set (STANDARD_CERTIFICATE_AUTHORITIES
), or any certificate signed by a custom authority set you manage (CUSTOM_CERTIFICATE_AUTHORITIES
). If set toCOMBO
, may rely on all three inputs. (Option Previously Named:origin_certs_to_honor
. Capitalized enum values. Changedcustom_cas
enum value toCUSTOM_CERTIFICATE_AUTHORITIES
,custom_certs
toCUSTOM_CERTIFICATES
, andstandard_cas
toSTANDARD_CERTIFICATE_AUTHORITIES
.)
standardCertificateAuthorities
(object): WithoriginCertsToHonor
set to eitherSTANDARD_CERTIFICATE_AUTHORITIES
orCOMBO
, specifies an array of Akamai-managed certificate names. Currently, the only allowed value isakamai-permissive
. (Option Previously Named:origin_cert_standard_cas
. Capitalized enum values.)
customCertificateAuthorities
(object): WithoriginCertsToHonor
set to eitherCUSTOM_CERTIFICATE_AUTHORITIES
orCOMBO
, specifies an array of certification objects. Contact your Akamai representative for details on this object’s requirements. (Option Previously Named:origin_cert_custom_cas
.)
customCertificates
(object): WithoriginCertsToHonor
set to eitherCUSTOM_CERTIFICATES
orCOMBO
, specifies an array of certification objects. Contact your Akamai representative for details on this object’s requirements. (Option Previously Named:origin_cert_custom_certs
.)
httpPort
(number): Specifies the port on your origin server to which edge servers should connect for HTTP requests, customarily80
. (Option Previously Named:http_port
.)
httpsPort
(number): Specifies the port on your origin server to which edge servers should connect for secure HTTPS requests, customarily443
. This option only applies if the property is marked as secure. See Secure Property Requirements for guidance. (Option Previously Named:https_port
.)
Property Manager Name: Origin Server
persistentClientConnection
This
read-only behavior activates
persistent connections between edge servers and clients, which allow
for better performance and more efficient use of resources. Compare
with the persistentConnection
behavior, which configures persistent connections for the entire
journey from origin to edge to client. Contact Akamai Professional
Services for help configuring either.
WARNING: Disabling or removing this behavior may negatively affect performance.
Options:
enabled
(boolean): Enables the persistent connections behavior. (Option Previously Named:status
. Retyped as boolean.)
timeout
(duration string): Specifies the timeout period after which edge server closes the persistent connection with the client, 500 seconds by default.
Feature Previously Named: clientpconns
Property Manager Name: Persistent Connections: Client to Edge
persistentConnection
A read-only
behavior that enables more
efficient persistent connections from origin to edge server to
client. Compare with the
persistentClientConnection
behavior, which customizes persistent connections from edge to
client. Contact Akamai Professional Services for help configuring
either.
WARNING: Disabling this behavior wastes valuable browser resources. Leaving connections open too long makes them vulnerable to attack. Avoid both of these scenarios.
Options:
enabled
(boolean): Enables persistent connections. (Option Previously Named:status
. Retyped as boolean.)
timeout
(duration string): Specifies the timeout period after which edge server closes a persistent connection.
Feature Previously Named: pconns
Property Manager Name: Persistent Connections: Edge to Origin
personallyIdentifiableInformation
Marks content covered by the current rule as sensitive personally identifiable information that needs to be treated as secure and private. That includes anything involving personal information: name, social security number, date and place of birth, mother’s maiden name, biometric data, or any other data linked to an individual. If you attempt to save a property with such a rule that also caches or logs sensitive content, the added behavior results in a validation error.
WARNING: This feature only identifies some vulnerabilities. For example, it does not prevent you from including secure information in a query string or writing it to an origin folder. It also can’t tell whether the SSL protocol is in effect.
Options:
enabled
(boolean): When enabled, marks content as personally identifiable information (PII). (Option Previously Named:treat_as_pii
. Retyped as boolean.)
Feature Previously Named: pii
Property Manager Name: Personally Identifiable Information (PII)
predictivePrefetching
This behavior potentially reduces the client’s page load time by pre-caching objects based on historical data for the page, not just its current set of referenced objects. It also detects second-level dependencies, such as objects retrieved by JavaScript.
Options:
enabled
(boolean): Enables the predictive prefetching behavior. (Option Previously Named:status
. Retyped as boolean.)
accuracyTarget
(enum string): The level of prefetching, eitherLOW
,MEDIUM
, orHIGH
. A higher level results in better client performance, but potentially greater load on the origin. (Option Previously Named:accuracy-target
. Capitalized enum values. Changedmed
enum value toMEDIUM
.)
Feature Previously Named: predictiveprefetching
Property Manager Name: Predictive Prefetching
prefetch
Instructs edge servers to retrieve
content linked from requested pages as they load, rather than waiting
for separate requests for the linked content. This behavior applies
depending on the rule’s set of matching conditions. Use in
conjunction with the prefetchable
behavior, which specifies the set of objects to prefetch.
Options:
enabled
(boolean): Applies prefetching behavior when enabled. (Option Previously Named:enabled
. Retyped as boolean.)
Feature Previously Named: prefetching
Property Manager Name: Prefetch Objects
prefetchable
Allow matching objects to
prefetch into the edge cache as the parent page that links to them
loads, rather than waiting for a direct request. This behavior applies
depending on the rule’s set of matching conditions. Use
prefetch
to enable the overall behavior for
parent pages that contain links to the object.
Options:
enabled
(boolean): When enabled, allows matching content to prefetch when referenced on a requested parent page. (Option Previously Named:enabled
. Retyped as boolean.)
Feature Previously Named: prefetchableobject
Property Manager Name: Prefetchable Objects
prefreshCache
Refresh cached content before its time-to-live (TTL) expires, to keep end users from having to wait for the origin to provide fresh content.
Prefreshing starts asynchronously based on a percentage of remaining TTL. The edge serves the prefreshed content only after the TTL expires. If the percentage is set too high, and there is not enough time to retrieve the object, the end user waits for it to refresh from the origin, as is true by default without this prefresh behavior enabled. The edge does not serve stale content.
Options:
enabled
(boolean): Enables the cache prefreshing behavior. (Retyped as boolean.)
prefreshval
(number within 0–99 range): Specifies when the prefresh occurs as a percentage of the TTL. For example, for an object whose cache has 10 minutes left to live, and an origin response that is routinely less than 30 seconds, a percentage of95
prefreshes the content without unnecessarily increasing load on the origin.
Feature Previously Named: cacheprefresh
Property Manager Name: Cache Prefreshing
randomSeek
Optimizes .flv
and .mp4
files to allow random jump-point navigation.
Options:
flv
(boolean): Enables random seek optimization in FLV files. (Retyped as boolean.)
mp4
(boolean): Enables random seek optimization in MP4 files. (Retyped as boolean.)
maximumSize
(string): With themp4
option enabled, sets the maximum size of the MP4 file to optimize, expressed as a number suffixed with a unit string such asMB
orGB
. (Option Previously Named:max_size
.)
Feature Previously Named: randomseek
Property Manager Name: Random Seek
readTimeout
A read-only
behavior that specifies how
long the edge server should wait for a response from the requesting
forward server after a connection has already been established. Any
failure to read aborts the request and sends a 504
Gateway Timeout
error to the client. Contact Akamai Professional Services for help
configuring this behavior.
Options:
value
(duration string): Specifies the read timeout necessary before failing with a504
error. This value should never be zero. (Option Previously Named:timeout
.)
Feature Previously Named: readtimeout
Property Manager Name: Read Timeout
realUserMonitoring
Real User Monitoring
(RUM)
injects JavaScript into HTML pages served to end-user clients that
monitors page-load performance and reports on various data, such as
browser type and geographic location. The
report
behavior allows you to configure
logs.
Akamai customers can consult the documentation for Real User Monitoring for more information on this behavior.
Options:
enabled
(boolean): When enabled, activates real-use monitoring. (Option Previously Named:status
. Retyped as boolean.)
Feature Previously Named: rum
Property Manager Name: Real User Monitoring (RUM)
redirect
Respond to the client request
with a redirect without contacting the origin. Specify the redirect as
a path expression starting with a /
character relative to the
current root, or as a fully qualified URL. This behavior relies
primarily on destinationHostname
and destinationPath
to manipulate
the hostname and path independently.
See also the redirectplus
behavior,
which allows you to use variables to
express the destination of the redirect.
Options:
mobileDefaultChoice
(enum string): When set toMOBILE
, allows only a302
response code. When set toDEFAULT
, allows all otherresponseCode
values. (Option Previously Named:mobile_default_choice
. Capitalized enum values.)
destinationProtocol
(enum string): Choose the protocol for the redirect URL, eitherHTTP
,HTTPS
, orSAME_AS_REQUEST
to pass through the original protocol. (Option Previously Named:destination_protocol
. Capitalized enum values.)
destinationHostname
(enum string): Specify how to change the requested hostname, independently from the pathname:SUBDOMAIN
prepends a subdomain from thedestinationHostSubdomain
field.SIBLING
replaces the leftmost subdomain with thedestinationHostSibling
field.OTHER
specifies a static domain in thedestinationHostnameOther
field.SAME_AS_REQUEST
preserves the hostname unchanged.
(Option Previously Named:
destination_host
. Capitalized enum values.)
destinationHostSubdomain
(string; allows variables): IfdestinationHostname
is set toSUBDOMAIN
, this specifies a subdomain to prepend to the current hostname. For example, a value ofm
changeswww.example.com
tom.www.example.com
. (Option Previously Named:destination_host_subdomain
.)
destinationHostSibling
(string; allows variables): IfdestinationHostname
is set toSIBLING
, this specifies the subdomain with which to replace to the current hostname’s leftmost subdomain. For example, a value ofm
changeswww.example.com
tom.example.com
. (Option Previously Named:destination_host_sibling
.)
destinationHostnameOther
(string; allows variables): IfdestinationHostname
is set toOTHER
, this specifies the full hostname with which to replace the current hostname. (Option Previously Named:destination_host_other
.)
destinationPath
(enum string): Specify how to change the requested pathname, independently from the hostname:PREFIX_REQUEST
prepends a path with thedestinationPathPrefix
field. You also have the option to specify a suffix usingdestinationPathSuffix
anddestinationPathSuffixStatus
.OTHER
replaces the current path with thedestinationPathOther
field.SAME_AS_REQUEST
preserves the current path unchanged.
(Option Previously Named:
destination_path
. Capitalized enum values.)
destinationPathPrefix
(string; allows variables): WhendestinationPath
is set toPREFIX_REQUEST
, this prepends the current path. For example, a value of/prefix/path
changes/example/index.html
to/prefix/path/example/index.html
. (Option Previously Named:destination_path_prefix
.)
destinationPathSuffixStatus
(enum string): WhendestinationPath
is set toPREFIX_REQUEST
, this gives you the option of adding a suffix. SpecifyNO_SUFFIX
if you want to preserve the end of the path unchanged. If you specifySUFFIX
, thedestinationPathSuffix
provides the value. (Option Previously Named:destination_path_suffix_status
. Capitalized enum values.)
destinationPathSuffix
(string; allows variables): WhendestinationPath
is set toPREFIX_REQUEST
anddestinationPathSuffixStatus
is set toSUFFIX
, this specifies the suffix to append to the path. (Option Previously Named:destination_path_suffix
.)
destinationPathOther
(string; allows variables): WhendestinationPath
is set toPREFIX_REQUEST
, this replaces the current path. (Option Previously Named:destination_path_other
.)
queryString
(enum string): When set toAPPEND
, passes incoming query string parameters as part of the redirect URL. Otherwise set this toIGNORE
. (Capitalized enum values.)
responseCode
(numeric enum): Specify the redirect’s response code:301
(Moved Permanently),302
(Found),303
(See Other), or307
(Temporary Redirect). (Retyped enum values as numeric.)
Property Manager Name: Redirect
redirectplus
Respond to the client
request with a redirect without contacting the origin. This behavior
fills the same need as redirect
, but
allows you to use variables to
express the redirect destination
’s component values more
concisely.
Options:
enabled
(boolean): Enables the redirect feature. (Option Previously Named:status
. Retyped as boolean.)
destination
(string; allows variables): Specifies the redirect as a path expression starting with a/
character relative to the current root, or as a fully qualified URL. Optionally inject variables, as in this example that refers to the original request’s filename:/path/to/{{builtin.AK_FILENAME}}
.
responseCode
(numeric enum): Assigns the status code for the redirect response, either301
,302
,303
, or307
. (Retyped enum values as numeric.)
Property Manager Name: Redirect Plus
refererChecking
Limits allowed requests to a set of domains you specify.
Options:
enabled
(boolean): Enables the referer-checking behavior. (Option Previously Named:status
. Retyped as boolean.)
strict
(boolean): When enabled, excludes requests whoseReferer
header include a relative path, or that are missing aReferer
. When disabled, only excludes requests whoseReferer
hostname is not part of thedomains
set. (Retyped as boolean.)
domains
(array of string values): Specifies the set of allowed domains. WithallowChildren
disabled, prefixing values with*.
specifies domains for which subdomains are allowed. (Option Previously Named:domain
.)
allowChildren
(boolean): When enabled, allows all subdomains for thedomains
set, just like adding a*.
prefix to each. (Option Previously Named:allowchildren
. Retyped as boolean.)
Feature Previously Named: refererchecking
Property Manager Name: Legacy Referrer Checking
removeQueryParameter
Remove named query parameters before forwarding the request to the origin.
Options:
parameters
(array of string values): Specifies parameters to remove from the request. (Option Previously Named:removelist
.)
Feature Previously Named: removeqsbyname
Property Manager Name: Remove Outgoing Request Parameters
removeVary
By default, responses that feature a
Vary
header value of anything other than Accept-Encoding
and a
corresponding Content-Encoding: gzip
header aren’t cached on edge
servers. Vary
headers indicate when a URL’s content varies depending
on some variable, such as which User-Agent
requests it. This
behavior simply removes the Vary
header to make responses cacheable.
WARNING: If your site relies on
Vary: User-Agent
to customize content, removing the header may lead the edge to serve content inappropriate for specific devices.
Options:
enabled
(boolean): When enabled, removes theVary
header to ensure objects can be cached. (Option Previously Named:remove_vary
. Retyped as boolean.)
Feature Previously Named: removevary
Property Manager Name: Remove Vary Header
report
Specify the HTTP request headers or cookie names to log in your Akamai Log Delivery service reports.
Options:
logHost
(boolean): Log theHost
header. (Option Previously Named:host_enabled
. Retyped as boolean.)
logReferer
(boolean): Log theReferer
header. (Option Previously Named:referer_enabled
. Retyped as boolean.)
logUserAgent
(boolean): Log theUser-Agent
header. (Option Previously Named:useragent_enabled
. Retyped as boolean.)
logAcceptLanguage
(boolean): Log theAccept-Language
header. (Option Previously Named:acceptlang_enabled
. Retyped as boolean.)
logCookies
(enum string): With a set of definedcookie
names, specifies whether you want to logALL
orSOME
cookies, or to turnOFF
the feature to stop logging cookies. (Option Previously Named:cookie_mode
. Capitalized enum values.)
cookies
(array of string values): WithlogCookies
set toSOME
, this specifies the set of cookies names whose values you want to log.
Feature Previously Named: reporting
Property Manager Name: Log Request Details
requestControl
The Request Control Cloudlet allows you to control access to your web content based on the incoming request’s IP or geographic location. Assuming cloudlets are available on your contract, choose Configure⇒Cloudlets to control how the feature works, or use the Cloudlets API to configure it programmatically.
Options:
enabled
(boolean): Enables the Request Control Cloudlet.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
enableBranded403
(boolean): If enabled, serves a branded 403 page for this Cloudlet instance.
branded403StatusCode
(numeric enum): Specifies the response status code for the branded deny action, either200
,302
,403
, or503
.
netStorage
(object): Specifies the NetStorage domain that contains the branded 403 page.
branded403File
(string): Specifies the full path of the branded 403 page, including the filename, but excluding the NetStorage CP code path component.
branded403Url
(string): Specifies the redirect URL for the branded deny action.
brandedDenyCacheTtl
(number within 5–30 range): Specifies the branded response page’s time to live in the cache,5
minutes by default.
Feature Previously Named: ip_geo_access
Property Manager Name: Request Control Cloudlet
responseCode
Change the existing
response code. For example, if your origin sends a 301
permanent
redirect, this behavior can change it on the edge to a temporary 302
redirect.
Options:
statusCode
(numeric enum): The HTTP status code to replace the existing one, any of the following:
100 101 102 103 122 200 201 202 203 204 205 206 207 226 300 301 302 303 304 305 306 307 308 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 422 423 424 425 426 428 429 431 444 449 450 499 500 501 502 503 504 505 506 507 509 510 511 598 599
(Option Previously Named:
statuscode
. Retyped enum values as numeric.)
override206
(boolean): When enabled, allows any specified200
success code to override a206
partial-content code, in which case the response’s content length matches the requested range length. (Option Previously Named:enable206override
. Retyped as boolean.)
Feature Previously Named: setresponsecode
Property Manager Name: Set Response Code
responseCookie
Set a cookie to send downstream to the client, either with a fixed value or a unique stamp.
Options:
enabled
(boolean): When enabled, allows you to set a response cookie. (Option Previously Named:status
. Retyped as boolean.)
cookieName
(string; allows variables): Specifies the name of the cookie, which serves as a key to determine if the cookie is set. (Option Previously Named:name
.)
type
(enum string): Assign either aUNIQUE
value, or aFIXED
one based on thevalue
field. (Capitalized enum values.)
value
(string; allows variables): If the cookietype
isFIXED
, this specifies the cookie value.
format
(enum string): When thetype
of cookie is set toUNIQUE
, set this to eitherAPACHE
orAKAMAI
format. The latter format adds milliseconds to the date stamp. (Capitalized enum values.)
defaultDomain
(boolean): When enabled, uses the default domain value, otherwise the set specified in thedomain
field. (Retyped as boolean.)
defaultPath
(boolean): When enabled, uses the default path value, otherwise the set specified in thepath
field. (Retyped as boolean.)
domain
(string; allows variables): If thedefaultDomain
is disabled, this sets the domain for which the cookie is valid. For example,example.com
makes the cookie valid for that hostname and all subdomains.
path
(string; allows variables): If thedefaultPath
is disabled, sets the path component for which the cookie is valid.
expires
(enum string): Sets various ways to specify when the cookie expires:- A value of
NEVER
lets the cookie persist indefinitely. - A value of
ON_BROWSER_CLOSE
limits the cookie to the duration of the session. - A value of
DURATION
requires a correspondingDURATION
field value. - A value of
FIXED_DATE
requires a correspondingexpirationDate
field value.
(Capitalized enum values.)
- A value of
expirationDate
(ISO 8601 format date/time string): Ifexpires
is set toFIXED_DATE
, this sets when the cookie expires as a UTC date and time. (Option Previously Named:expiration_date
.)
duration
(duration string): Ifexpires
is set toDURATION
, this sets the cookie’s lifetime.
secure
(boolean): When enabled, sets the cookie’sSecure
flag to transmit it withHTTPS
. (Retyped as boolean.)
Feature Previously Named: setresponsecookie
Property Manager Name: Set Response Cookie
restrictObjectCaching
A read-only behavior that is required to deploy the Object Caching product. It disables serving HTML content and limits the maximum object size to 100MB. Contact Akamai Professional Services for help configuring it.
Options:
disableHtml
(read-only string): Disables edge caching for HTML content. (Option Previously Named:html_disabled
.)
maximumSize
(read-only string): Specifies a fixed maximum size of non-HTML content to cache. (Option Previously Named:maximum_size
.)
Feature Previously Named: objectcachingrestrictions
Property Manager Name: Object Caching
rewriteUrl
Modifies the path of incoming requests to forward to the origin. This helps you offload URL-rewriting tasks to the edge to increase the origin server’s performance, allows you to redirect links to different targets without changing markup, and hides your original directory structure.
Except for regular expression replacements, this behavior manipulates
path expressions, which start and end with a /
character.
Options:
behavior
(enum string): The action to perform on the path:If set to
PREPEND
, specify thetargetPathPrepend
. For example, if set to/prefix/
,/path1/page.html
changes to/prefix/path1/page.html
.If set to
REPLACE
, specify thematch
andtargetPath
. For example, amatch
of/path1/
and atargetPath
of/path1/path2/
changes/path1/page.html
to/path1/path2/page.html
.If set to
REGEX_REPLACE
, specify thematchRegex
andtargetRegex
. For example, specifyinglogo\\.(png|gif|jpe?g)
andbrand\$1
changeslogo.png
tobrand.png
.If set to
REWRITE
, specify thetargetUrl
. For example, you can direct traffic to/error/restricted.html
.If set to
REMOVE
, specify thematch
. For example, amatch
of/path2/
changes/path1/path2/page.html
to/path1/page.html
.
(Capitalized enum values, with underscore delimiters.)
match
(string): Whenbehavior
isREMOVE
orREPLACE
, specifies the part of the incoming path you’d like to remove or modify. (Option Previously Named:trigger
.)
matchRegex
(string): Whenbehavior
is set toREGEX_REPLACE
, specifies the Perl-compatible regular expression to replace withtargetRegex
. (Option Previously Named:triggerregex
.)
targetRegex
(string; allows variables): Whenbehavior
is set toREGEX_REPLACE
, this replaces whatever thematchRegex
field matches, along with any captured sequences from\$1
through\$9
. (Option Previously Named:targetregex
.)
targetPath
(string; allows variables): Whenbehavior
is set toREPLACE
, this path replaces whatever thematch
field matches in the incoming request’s path. (Option Previously Named:targetpath
.)
targetPathPrepend
(string; allows variables): Whenbehavior
is set toPREPEND
, specifies a path to prepend to the incoming request’s URL. (Option Previously Named:targetpathprepend
.)
targetUrl
(string; allows variables): Whenbehavior
is set toREWRITE
, specifies the full path to request from the origin. (Option Previously Named:targeturl
.)
matchMultiple
(boolean): When enabled, replaces all potential matches rather than only the first. (Option Previously Named:match_multiple
. Retyped as boolean.)
keepQueryString
(boolean): When enabled, retains the original path’s query parameters. (Option Previously Named:keepqs
. Retyped as boolean.)
Feature Previously Named: urlrewrite
Property Manager Name: Modify Outgoing Request Path
rmaOptimization
This behavior is deprecated. Do not add it to any properties.
This behavior does not include any options. Specifying the behavior itself enables it.
Feature Previously Named: rmaoptimizations
Property Manager Name: RMA Optimizations (RMA)
saasDefinitions
Configures how the
Software as a Service feature identifies customers, applications,
and users. A different set of options is available for each type of
targeted request, each enabled with the action
-suffixed option. In
each case, you can use PATH
, COOKIE
, QUERY_STRING
, or HOSTNAME
components as identifiers, or disable
the
SaaS
behavior for certain targets. If you rely on a HOSTNAME
, you also
have the option of specifying a CNAME chain rather than an
individual hostname. The various options suffixed regex
and
replace
subsequently remove the identifier from the request.
This behavior requires a sibling origin
behavior whose originType
option is set to SAAS_DYNAMIC_ORIGIN
.
Options:
applicationAction
(enum string): Specifies the request component that identifies a SaaS application, eitherCOOKIE
,HOSTNAME
,PATH
, orQUERY_STRING
. Setting it toDISABLED
effectively ignores applications. (Option Previously Named:application_action
. Capitalized enum values.)
applicationCookie
(string): WithapplicationAction
set toCOOKIE
, this specifies the name of the cookie that identifies the application. (Option Previously Named:application_cookie
.)
applicationQueryString
(string): WithapplicationAction
set toQUERY_STRING
, this names the query parameter that identifies the application. (Option Previously Named:application_query_string
.)
applicationCnameEnabled
(boolean): WithapplicationAction
set toHOSTNAME
, enabling this allows you to identify applications using a CNAME chain rather than a single hostname. (Option Previously Named:application_cname_enabled
. Retyped as boolean.)
applicationCnameLevel
(number): WithapplicationCnameEnabled
on, this specifies the number of CNAMEs to use in the chain. (Option Previously Named:application_cname_level
.)
applicationRegex
(string): Specifies a Perl-compatible regular expression with which to substitute the request’s application ID. (Option Previously Named:application_regex
.)
applicationReplace
(string): Specifies a string to replace the request’s application ID matched byapplicationRegex
. (Option Previously Named:application_replace
.)
customerAction
(enum string): Specifies the request component that identifies a SaaS customer, eitherCOOKIE
,HOSTNAME
,PATH
, orQUERY_STRING
. Setting it toDISABLED
effectively ignores customers. (Option Previously Named:customer_action
. Capitalized enum values.)
customerCookie
(string): WithcustomerAction
set toCOOKIE
, this specifies the name of the cookie that identifies the customer. (Option Previously Named:customer_cookie
.)
customerQueryString
(string): WithcustomerAction
set toQUERY_STRING
, this names the query parameter that identifies the customer. (Option Previously Named:customer_query_string
.)
customerCnameEnabled
(boolean): WithcustomerAction
set toHOSTNAME
, enabling this allows you to identify customers using a CNAME chain rather than a single hostname. (Option Previously Named:customer_cname_enabled
. Retyped as boolean.)
customerCnameLevel
(number): WithcustomerCnameEnabled
on, this specifies the number of CNAMEs to use in the chain. (Option Previously Named:customer_cname_level
.)
customerRegex
(string): Specifies a Perl-compatible regular expression with which to substitute the request’s customer ID. (Option Previously Named:customer_regex
.)
customerReplace
(string): Specifies a string to replace the request’s customer ID matched bycustomerRegex
. (Option Previously Named:customer_replace
.)
usersAction
(enum string): Specifies the request component that identifies a SaaS user, eitherCOOKIE
,HOSTNAME
,PATH
, orQUERY_STRING
. Setting it toDISABLED
effectively ignores users. (Option Previously Named:user_action
. Capitalized enum values.)
usersCookie
(string): WithusersAction
set toCOOKIE
, this specifies the name of the cookie that identifies the user. (Option Previously Named:users_cookie
.)
usersQueryString
(string): WithusersAction
set toQUERY_STRING
, this names the query parameter that identifies the user. (Option Previously Named:users_query_string
.)
usersCnameEnabled
(boolean): WithusersAction
set toHOSTNAME
, enabling this allows you to identify users using a CNAME chain rather than a single hostname. (Option Previously Named:users_cname_enabled
. Retyped as boolean.)
usersCnameLevel
(number): WithuserCnameEnabled
on, this specifies the number of CNAMEs to use in the chain. (Option Previously Named:users_cname_level
.)
usersRegex
(string): Specifies a Perl-compatible regular expression with which to substitute the request’s user ID. (Option Previously Named:users_regex
.)
usersReplace
(string): Specifies a string to replace the request’s user ID matched byusersRegex
. (Option Previously Named:users_replace
.)
Feature Previously Named: saasdefinitions
Property Manager Name: SaaS Definitions
savePostDcaProcessing
A read-only
behavior, used in conjunction
with the cachePost
behavior, that allows
the body of POST requests to be processed through Dynamic Content
Assembly. Contact Akamai Professional Services for help configuring
it.
Options:
enabled
(boolean): Enables processing of POST requests. (Retyped as boolean.)
Feature Previously Named: save_post_dca_processing
Property Manager Name: Save POST DCA processing result
scheduleInvalidation
Specifies when cached content that satisfies a rule’s criteria expires, optionally at repeating intervals. In addition to periodic cache flushes, you can use this behavior to minimize potential conflicts when related objects expire at different times.
WARNING: scheduled invalidations can significantly increase origin servers’ load when matching content expires simultaneously across all edge servers. As best practice, schedule expirations during periods of lowest traffic.
Options:
start
(ISO 8601 format date/time string): The UTC date and time when matching cached content is to expire.
repeat
(boolean): When enabled, invalidation recurs periodically from thestart
time based on therepeatInterval
time. (Option Previously Named:repetition_enabled
. Retyped as boolean.)
repeatInterval
(duration string): Withrepeat
enabled, specifies how often to invalidate content from thestart
time, expressed in seconds. For example, an expiration set to midnight and an interval of86400
seconds invalidates content once a day. Repeating intervals of less than 5 minutes are not allowed for NetStorage origins. (Option Previously Named:repeatinterval
.)
refreshMethod
(enum string): Specifies how to invalidate the content. Setting it toINVALIDATE
sends anIf-Modified-Since
request to the origin, re-caching the content only if it is fresher. Setting it toPURGE
re-caches content regardless of its freshness, potentially creating more traffic at the origin. (Option Previously Named:refresh_method
. Capitalized enum values.)
Feature Previously Named: scheduledinvalidation
Property Manager Name: Scheduled Invalidation
segmentedContentProtection
Validates authorization tokens at the edge server to prevent unauthorized link sharing.
Options:
enabled
(boolean): Enables the segmented content protection behavior. (Option Previously Named:segmentedcontentprotectionswitch
. Retyped as boolean.)
key
(string): Specifies the encryption key to use as a shared secret to validate tokens.
useAdvanced
(boolean): When enabled, allows you to specify advancedtransitionKey
andsalt
options. (Option Previously Named:show_advanced
. Retyped as boolean.)
transitionKey
(string): An alternate encryption key to match along with thekey
field, allowing you to rotate keys with no down time.
salt
(string): Specifies a salt as input into the token for added security. This value must match the salt used in the token generation code.
failureResponse
(enum string): EitherVERIFY_AND_DENY
orVERIFY_ONLY
. (Enum values now use underscore delimiters.)
Feature Previously Named: segmentedcontentprotection
Property Manager Name: Segmented Media Protection
segmentedMediaOptimization
Optimizes segmented media for live or streaming delivery contexts.
Options:
behavior
(enum string): Set to either cachedON_DEMAND
, or streamingLIVE
. OnlyON_DEMAND
is allowed for NetStorage origins. (Capitalized enum values.)
Feature Previously Named: segmentedmediaoptimization
Property Manager Name: Segmented Media Delivery Mode
setVariable
Modify a variable to insert
into subsequent fields within the rule tree. Use this behavior to
specify the predeclared variableName
and determine from where to derive its new value. Based on this
valueSource
, you can either generate the value, extract it from some
part of the incoming request, assign it from another variable
(including a set of built-in system variables), or directly specify
its text. Optionally choose a transform
function to modify the
value once.
See Inserting Variables and the sections that follow for guidance on how to manipulate a set of variables within a rule tree.
Options:
variableName
(string): Specifies the predeclared root name of the variable to modify. When you declare a variable name such asVAR
, its name is preprended withPMUSER_
and accessible in auser
namespace, so that you invoke it in subsequent text fields within the rule tree as{{user.PMUSER_VAR}}
. In deployed XML metadata, it appears as%(PMUSER_VAR)
.
valueSource
(enum string): Determines how you want to set the value: eitherGENERATE
it,EXTRACT
it from another value, or specify your own stringEXPRESSION
.
variableValue
(string; allows variables): WithvalueSource
set toEXPRESSION
, this directly specifies the value to assign to the variable. The expression may include a mix of static text and other variables, such asnew_filename.{{builtin.AK_EXTENSION}}
to embed a system variable.
extractLocation
(enum string): WithvalueSource
set toEXTRACT
, this specifies from where to get the value, either theCLIENT_CERTIFICATE
,CLIENT_REQUEST_HEADER
,COOKIE
,EDGESCAPE
(for location or network data),PATH_COMPONENT_NAME
,PATH_COMPONENT_OFFSET
,PATH_PARAMETER
, orQUERY_STRING
.
certificateFieldName
(enum string): WithextractLocation
set toCLIENT_CERTIFICATE
, specifies the certificate’s content, either:CONTENTS_DER
: The entire DER-encoded certificate, expressed in hex.CONTENTS_PEM
: The PEM-formatted certificate encoded as a single line of base64 characters.CONTENTS_PEM_NO_LABELS
: Same asCONTENTS_PEM
, but not including the certificate’s header and footer.COUNT
: The number of client certificates received.FINGERPRINT_DYN
: The hex-encoded fingerprint generated based on theSIGNATURE_ALGORITHM
.FINGERPRINT_MD5
: The hex-encoded MD5 fingerprint.FINGERPRINT_SHA1
: The hex-encoded SHA1 fingerprint.ISSUER_DN
: The distinguished name field for the certificate’s issuer.KEY_LENGTH
: The size of the key in bits.NOT_AFTER
: The end of the time range, expressed inYYYY/MM/DD HH:MI:SS ZONE
format, where the zone is optional.NOT_BEFORE
: The start of the time range, expressed inYYYY/MM/DD HH:MI:SS ZONE
format, where the zone is optional.SERIAL
: The serial number, expressed in hex.SIGNATURE_ALGORITHM
: The algorithm used to generate the certificate’s signature.SIGNATURE
: The certificate’s signature, expressed in hex.STATUS_MSG
: A short message indicating the status of a certificate’s validation, such asok
ormissing
.SUBJECT_DN
: The distinguished name field for the user.VERSION
: The certificate’s X509 version number.
headerName
(string): WithextractLocation
set toCLIENT_REQUEST_HEADER
, specifies the case-insensitive name of the HTTP header to extract.
cookieName
(string): WithextractLocation
set toCOOKIE
, specifies the name of the cookie to extract.
locationId
(enum string): WithextractLocation
set toEDGESCAPE
, specifies theX-Akamai-Edgescape
header’s field name. Possible values specify basic geolocation, various geographic standards, and information about the client’s network:- Two-letter
CONTINENT
, ISO–3166COUNTRY_CODE
orREGION_CODE
,COUNTY
,CITY
,TIMEZONE
,AREACODE
,ZIP
,LAT
, andLONG
. ASNUM
(Autonomous System Number),DMA
(Designated Market Area),FIPS
(Federal Information Processing System code),MSA
(Metropolitan Statistical Area), andPMSA
(Primary Metropolitan Statistical Area).NETWORK
(name),NETWORK_TYPE
, or tiered level ofTHROUGHPUT
.
For details on EdgeScape header fields, see the EdgeScape User Guide.
- Two-letter
pathComponentOffset
(string): WithextractLocation
set toPATH_COMPONENT_OFFSET
, this specifies a portion of the path. The indexing starts from1
, so a value of/path/to/nested/filename.html
and an offset of1
yieldspath
, and3
yieldsnested
. Negative indexes offset from the right, so-2
also yieldsnested
.
queryParameterName
(string): WithextractLocation
set toQUERY_STRING
, specifies the name of the query parameter from which to extract the value.
generator
(enum string): WithvalueSource
set toGENERATE
, this specifies the type of value to generate: eitherRAND
for a random number, orHEXRAND
for a random hex sequence.
numberOfBytes
(number within 1–16 range): WithvalueSource
set toGENERATE
and thegenerator
set toHEXRAND
, this specifies the number of random hex bytes to generate.
minRandomNumber
(string; allows variables): WithvalueSource
set toGENERATE
and thegenerator
set toRAND
, this specifies the lower bound of the random number.
maxRandomNumber
(string; allows variables): WithvalueSource
set toGENERATE
and thegenerator
set toRAND
, this specifies the upper bound of the random number.
transform
(enum string): Specifies a function to transform the value, eitherNONE
for no transformation, or any from the following categories:- Arithmetic:
ADD
,SUBTRACT
,MINUS
(reverse sign),MULTIPLY
,DIVIDE
, andMODULO
(get remainder). - Strings:
SUBSTITUTE
,LOWER
,UPPER
,SUBSTRING
,STRING_INDEX
(locate a substring),STRING_LENGTH
,REMOVE_WHITESPACE
,TRIM
(surrounding whitespace), andEXTRACT_PARAM
. - String conversions:
HEX_ENCODE
/HEX_DECODE
,XML_ENCODE
/XML_DECODE
.URL_ENCODE
/URL_DECODE
/URL_DECODE_UNI
(Unicode),NORMALIZE_PATH_WIN
(convert Windows paths to Unix format and remove relative path syntax) - Bitwise operations:
BITWISE_AND
,BITWISE_OR
,BITWISE_XOR
, andBITWISE_NOT
. - Numeric conversion:
DECIMAL_TO_HEX
,HEX_TO_DECIMAL
. - Encoding/decoding:
DECRYPT
/ENCRYPT
,BASE_64_ENCODE
/BASE_64_DECODE
. - Generate digests:
SHA_1
,SHA_256
,MD5
, a base64-encodedHMAC
key, or a simpleHASH
integer. - Time formats:
UTC_SECONDS
(epoch time),EPOCH_TO_STRING
, andSTRING_TO_EPOCH
. - Networking:
NETMASK
(apply a netmask to an IP address to specify the network’s available hosts).
For more details on each transform function, see Set Variable: Transforms in Control Center.
- Arithmetic:
operandOne
(string; allows variables): Specifies an additional operand when thetransform
function is set to various arithmetic functions (ADD
,SUBTRACT
MULTIPLY
,DIVIDE
, orMODULO
) or bitwise functions (BITWISE_AND
,BITWISE_OR
, orBITWISE_XOR
).
algorithm
(enum string): With thetransform
function set to eitherENCRYPT
orDECRYPT
, this specifies the algorithm to apply, eitherALG_AES128
orALG_AES256
(Advanced Encryption Standard, 128 or 256 bits), orALG_3DES
(Triple DES).
encryptionKey
(string; allows variables): With thetransform
function set to eitherENCRYPT
orDECRYPT
, this specifies the encryption hex key. ForALG_3DES
it must be 48 characters long, 32 characters forALG_AES128
, and 64 characters forALG_AES256
.
initializationVector
(string): With thetransform
function set to eitherENCRYPT
orDECRYPT
, specifies a one-time number as an initialization vector. It must be 15 characters long forALG_3DES
, and 32 characters for bothALG_AES128
andALG_AES256
.
encryptionMode
(enum string): With thetransform
function set to eitherENCRYPT
orDECRYPT
, specifies eitherCBC
(Cipher Block Chaining) orECB
(Electronic Codebook) encryption modes.
nonce
(string; allows variables): With thetransform
function set to eitherENCRYPT
orDECRYPT
, specifies the one-time number used for encryption.
prependBytes
(boolean): With thetransform
function set to eitherENCRYPT
orDECRYPT
, specifies a number of random bytes to prepend to the key.
formatString
(string): With thetransform
function set to eitherEPOCH_TO_STRING
orSTRING_TO_EPOCH
, this specifies an optional format string for the conversion, using format codes such as%m/%d/%y
as specified bystrftime
. A blank value defaults to RFC–2616 format.
paramName
(string; allows variables): With thetransform
function set toEXTRACT_PARAM
, this extracts the value for the specified parameter name from a string that contains key/value pairs. (Useseparator
below to parse them.)
separator
(string): With thetransform
function set toEXTRACT_PARAM
, this specifies the character that separates pairs of values within the string.
min
(number): With thetransform
function set toHASH
, specifies a minimum value for the generated integer.
max
(number): With thetransform
function set toHASH
, specifies a maximum value for the generated integer
hmacKey
(string): With thetransform
function set toHMAC
, specifies the secret to use in generating the base64-encoded digest.
hmacAlgorithm
(enum string): With thetransform
function set toHMAC
, specifies the algorithm to use to generate the base64-encoded digest, eitherMD5
,SHA1
, orSHA256
.
ipVersion
(enum string): With thetransform
function set toNETMASK
, this specifies the IP version under which a subnet mask generates, eitherIPV4
orIPV6
.
ipv6Prefix
(number within 0–128 range): With thetransform
function set toNETMASK
and theipVersion
set toIPV6
, specifies the prefix of the IPV6 address, a value between 0 and 128.
ipv4Prefix
(number within 0–32 range): With thetransform
function set toNETMASK
and theipVersion
set toIPV4
, specifies the prefix of the IPV4 address, a value between 0 and 32.
subString
(string; allows variables): With thetransform
function set toSTRING_INDEX
, specifies a substring for which the returned value represents a zero-based offset of where it appears in the original string, or-1
if there’s no match.
regex
(string): With thetransform
function set toSUBSTITUTE
, this specifies the regular expression pattern (PCRE) to match the value.
replacement
(string; allows variables): With thetransform
function set toSUBSTITUTE
, this specifies the replacement string. Reinsert grouped items from the match into the replacement using$1
,$2
…$n
.
caseSensitive
(boolean): With thetransform
function set toSUBSTITUTE
, enabling this makes all matches case sensitive.
globalSubstitution
(boolean): With thetransform
function set toSUBSTITUTE
, enabling this replaces all matches in the string, not just the first.
startIndex
(string; allows variables): With thetransform
function set toSUBSTRING
, specifies the zero-based character offset at the start of the substring. Negative indexes specify the offset from the end of the string.
endIndex
(string; allows variables): With thetransform
function set toSUBSTRING
, specifies the zero-based character offset at the end of the substring. Negative indexes specify the offset from the end of the string.
exceptChars
(string): With thetransform
function set toURL_ENCODE
, specifies characters not to encode, possibly overriding the default set.
forceChars
(string): With thetransform
function set toURL_ENCODE
, specifies characters to encode, possibly overriding the default set.
Property Manager Name: Set Variable
shutr
The SHUTR protocol extends HTTP to reduce the amount of header data necessary for web transactions with mobile devices.
This behavior does not include any options. Specifying the behavior itself enables it.
Property Manager Name: SHUTR
simulateErrorCode
A read-only behavior that simulates various error response codes. Contact Akamai Professional Services for help configuring it.
Options:
errorType
(enum string): Specifies the type of error, any of the following:
ERR_CONNECT_FAIL ERR_CONNECT_TIMEOUT ERR_DNS_FAIL ERR_DNS_IN_REGION ERR_DNS_TIMEOUT ERR_NO_GOOD_FWD_IP ERR_READ_ERROR ERR_READ_TIMEOUT ERR_SUREROUTE_DNS_FAIL ERR_WRITE_ERROR
(Option Previously Named:
error_type
. Capitalized enum values.)
timeout
(duration string): When theerrorType
isERR_CONNECT_TIMEOUT
,ERR_DNS_TIMEOUT
,ERR_SUREROUTE_DNS_FAIL
, orERR_READ_TIMEOUT
, generates an error after the specified amount of time from the initial request.
Feature Previously Named: sim_error_codes
Property Manager Name: Simulate Error Response Code
siteShield
A read-only behavior implementing the SiteShield feature, which helps prevent non-Akamai machines from contacting your origin. Your service representative periodically sends you a list of Akamai servers allowed to contact your origin, with which you establish an Access Control List on your firewall to prevent any other requests.
Options:
ssmap
(string): The hostname that identifies the SiteShield map, available from your Akamai representative.
Feature Previously Named: siteshield
Property Manager Name: SiteShield
spdy
Applies the SPDY protocol, which enhances HTTPS traffic by using many concurrent connections to download objects within one TCP connection. You can only apply this behavior if the property is marked as secure. See Secure Property Requirements for guidance.
This behavior does not include any options. Specifying the behavior itself enables it.
Property Manager Name: SPDY
subCustomer
Enables various features of the Content Policy API, which allows Akamai partners to specify dynamic content policies for their customers’ content, supplementing the rules defined within the current property.
Options:
enabled
(boolean): Allows the Content Policy API to dynamically modify content. (Option Previously Named:dynamicpolicy
. Retyped as boolean.)
origin
(boolean): Allows you to set the origin host. (Retyped as boolean.)
caching
(boolean): Allows you to modify content caching rules. (Retyped as boolean.)
referrer
(boolean): Allows you to set the referrer whitelist or blacklist. (Retyped as boolean.)
ip
(boolean): Allows you to specify an IP whitelist or blacklist. (Retyped as boolean.)
geoLocation
(boolean): Allows you to specify a location-based whitelist or blacklist. (Option Previously Named:geo
. Retyped as boolean.)
refreshContent
(boolean): Allows you to schedule when custom content is to revalidate. (Option Previously Named:contentrefresh
. Retyped as boolean.)
modifyPath
(boolean): Allows you to modify the request path. (Option Previously Named:modifypath
. Retyped as boolean.)
cacheKey
(boolean): Allows you to set which query parameters are included in the cache key. (Option Previously Named:cachekey
. Retyped as boolean.)
Feature Previously Named: subcustomerenable
Property Manager Name: Sub-Customer Enablement
sureRoute
The SureRoute feature continually tests different routes between origin and edge servers to identify the optimal path. By default, it conducts races to identify alternative paths to use in case of a transmission failure. These races increase origin traffic slightly.
This behavior allows you to configure SureRoute along with a test
object to improve delivery of non-cacheable no-store
or
bypass-cache
content. Since edge servers are already positioned as
close as possible to requesting clients, the behavior does not apply
to cacheable content.
Options:
enabled
(boolean): Enables the SureRoute behavior, to optimize delivery of non-cached content. (Option Previously Named:sr_enabled
. Retyped as boolean.)
type
(enum string): Specifies the set of edge servers used to test routes, either the defaultPERFORMANCE
or aCUSTOM_MAP
that must be provided to you by Akamai Professional Services. (Option Previously Named:sr_type
. Capitalized enum values, with underscore delimiters.)
customMap
(string): Iftype
isCUSTOM_MAP
, this specifies the map string provided to you by Akamai Professional Services, or included as part of the SiteShield product. (Option Previously Named:custom_map
.)
testObjectUrl
(string): Specifies the path and filename for your origin’s test object to use in races to test routes.Akamai provides sample test objects for the Dynamic Site Accelerator and Web Application Accelerator products. If you want to use your own test object, it needs to be on the same origin server as the traffic being served through SureRoute. Make sure it returns a
200
HTTP response and does not require authentication. The file should be an average-sized static HTML file (Content-Type: text/html
) that is no smaller than 8KB, with no back-end processing.
If you have more than one origin server deployed behind a load
balancer, you can configure it to serve the test object directly on
behalf of the origin, or route requests to the same origin server to
avoid deploying the test object on each origin server. (Option Previously Named: sr_test_object_url
.)
toHostStatus
(enum string): If set toINCOMING_HH
, uses the incomingHost
header when requesting the SureRoute test object. If set toOTHER
, usetoHost
to specify a customHost
header. (Option Previously Named:sr_to_host_status
. Capitalized enum values.)
toHost
(string): IftoHostStatus
isOTHER
, this specifies the customHost
header to use when requesting the SureRoute test object. (Option Previously Named:sr_to_host
.)
raceStatTtl
(duration string): Specifies the time-to-live to preserve SureRoute race results, typically30m
. If traffic exceeds a certain threshold after TTL expires, the overflow is routed directly to the origin, not necessarily optimally. If traffic remains under the threshold, the route is determined by the winner of the most recent race. (Option Previously Named:sr_race_stat_ttl
.)
forceSslForward
(boolean): Forces SureRoute to use SSL when requesting the origin’s test object, appropriate if your origin does not respond to HTTP requests, or responds with a redirect to HTTPS. (Option Previously Named:sr_force_ssl_fw
. Retyped as boolean.)
enableCustomKey
(boolean): When disabled, caches race results under the race destination’s hostname. If enabled, usecustomStatKey
to specify a custom hostname. (Option Previously Named:sr_stat_key_mode
. Retyped as boolean.)
customStatKey
(string): WithenableCustomKey
enabled, this specifies a hostname under which to cache race results. This may be useful when a property corresponds to many origin hostnames. By default, SureRoute would launch races for each origin, but consolidating under a single hostname runs only one race. (Option Previously Named:custom_stat_key
.)
Feature Previously Named: sureroute
Property Manager Name: SureRoute
tcpOptimization
Enables a suite of optimizations targeting buffers, time-outs, and packet loss that improve transmission performance. This behavior is deprecated, but you should not disable or remove it if present.
This behavior does not include any options. Specifying the behavior itself enables it.
Feature Previously Named: tcpoptimizations
Property Manager Name: TCP Optimizations
teaLeaf
Allows IBM Tealeaf Customer Experience on Cloud to record HTTPS requests and responses for Akamai-enabled properties. Recorded data becomes available in your IBM Tealeaf account.
Options:
enabled
(boolean): When enabled, capture HTTPS requests and responses, and send the data to your IBM Tealeaf account.
limitToDynamic
(boolean): Limit traffic to dynamic, uncached (No-Store
) content.
ibmCustomerId
(number): The integer identifier for the IBM Tealeaf Connector account.
Property Manager Name: IBM Tealeaf Connector
tieredDistribution
This behavior allows
Akamai edge servers to retrieve cached content from other Akamai
servers, rather than directly from the origin. These interim parent
servers in the cache hierarchy (CH
) are positioned close to the
origin, and fall along the path from the origin to the edge
server. Tiered Distribution typically reduces the origin server’s
load, and reduces the time it takes for edge servers to refresh
content.
Options:
enabled
(boolean): When enabled, activates tiered distribution. (Option Previously Named:status
. Retyped as boolean.)
tieredDistributionMap
(enum string): Optionally map the tiered parent server’s location close to your origin:CHEU2
for Europe;CHAUS
for Australia;CHAPAC
for China and the Asian Pacific area;CHWUS2
,CHCUS2
, andCHEUS2
for different parts of the United States. ChooseCH
orCH2
for a more global map. A narrower local map minimizes the origin server’s load, and increases the likelihood the requested object is cached. A wider global map reduces end-user latency, but decreases the likelihood the requested object is in any given parent server’s cache. This option cannot apply if the property is marked as secure. See Secure Property Requirements for guidance. (Option Previously Named:tdmap
. Capitalized enum values.)
Feature Previously Named: tiereddistribution
Property Manager Name: Tiered Distribution
timeout
Sets the HTTP connect timeout.
Options:
value
(duration string): Specifies the timeout, for example10s
. (Option Previously Named:timeout
.)
Feature Previously Named: connecttimeout
Property Manager Name: Connect Timeout
validateEntityTag
Instructs edge servers
to compare the request’s ETag header with that of the cached
object. If they differ, the edge server sends a new copy of the
object. This validation occurs in addition to the default validation
of Last-Modified
and If-Modified-Since
headers.
Options:
enabled
(boolean): Enables the ETag validation behavior. (Retyped as boolean.)
Feature Previously Named: validateetag
Property Manager Name: Validate Entity Tag (ETag)
verifyTokenAuthorization
Verifies Auth 2.0 tokens.
Options:
useAdvanced
(boolean): If enabled, allows you to specify advanced options such asalgorithm
,escapeHmacInputs
,ignoreQueryString
,transitionKey
, andsalt
. (Option Previously Named:show_advanced
. Retyped as boolean.)
location
(enum string): Specifies where to find the token in the incoming request, eitherCLIENT_REQUEST_HEADER
,QUERY_STRING
, orCOOKIE
. (Capitalized enum values.)
locationId
(string): Whenlocation
isCLIENT_REQUEST_HEADER
, specifies the name of the incoming request’s header where to find the token.
algorithm
(enum string): WithuseAdvanced
enabled, specifies the algorithm that generates the token, eitherSHA256
,SHA1
, orMD5
, in order of descending security. It must match the method chosen in the token generation code.
escapeHmacInputs
(boolean): WithuseAdvanced
enabled, URL-escapes HMAC inputs passed in as query parameters. (Retyped as boolean.)
ignoreQueryString
(boolean): WithuseAdvanced
enabled, enabling this removes the query string from the URL used to form an encryption key. (Retyped as boolean.)
key
(string): The shared secret used to validate tokens, which must match the key used in the token generation code.
transitionKey
(string): WithuseAdvanced
enabled, specifies a transition key as a hex value.
salt
(string): WithuseAdvanced
enabled, specifies a salt string for input when generating the token, which must match the salt value used in the token generation code.
failureResponse
(boolean): When enabled, sends an HTTP error when an authentication test fails. (Retyped as boolean.)
Feature Previously Named: token_auth_verify
Property Manager Name: Auth Token 2.0 Verification
visitorPrioritization
The Visitor
Prioritization
Cloudlet
is designed to decrease abandonment by providing a user-friendly
waiting room experience. Assuming cloudlets are available on your
contract, choose Configure⇒Cloudlets to control Visitor
Prioritization within Control Center. Otherwise use the
Cloudlets API to configure
it programmatically. To serve non-HTML API content, such as JSON
blocks, see the
apiPrioritization
behavior.
Options:
enabled
(boolean): Enables the Visitor Prioritization behavior.
cloudletPolicy
(object): Identifies the Cloudlet policy in an object featuring unique numericid
and descriptive stringname
members.
label
(string): Specify a suffix to add to the Cloudlet policy’s cookies, potentially useful to distinguish one policy from another within the same property.
waitingRoomCookieDuration
(number within 0–120 range): Specifies the duration of the Cloudlet’s cookie that holds users in the waiting room. (It sends users back to the waiting room if they refresh the waiting room page.)
privilegedCookieDuration
(number within 0–600 range): Specifies the duration of the privilege cookie, which bypasses Visitor Prioritization for subsequent requests once a user has been allowed through to the site.
populationRefresh
(boolean): If enabled, users receive a fresh cookie that matches the duration of the Allowed User Cookie. Disable to set a fixed cookie time.
waitingRoomStatusCode
(number): Specifies the response code for requests sent to the waiting room, either200
or503
.
waitingRoomUseCpCode
(boolean): When enabled, allows you to assign a different CP code that tracks any requests that are sent to the waiting room.
waitingRoomCpCode
(object): WithwaitingRoomUseCpCode
enabled, specifies acpcode
object for requests sent to the waiting room, including a numericid
key and a descriptivename
:"waitingRoomCpCode": { "id" : 12345, "name" : "sent to waiting room" }
waitingRoomNetStorage
(object): Specifies the NetStorage domain for the waiting room page. For example:"waitingRoomNetStorage": { "id" : "id_string", "name" : "Example Downloads", "downloadDomainName" : "example.download.akamai.com", "cpCode" : 12345 }
waitingRoomDirectory
(string): Specifies the NetStorage directory that contains the static waiting room page, with no trailing slash character.
waitingRoomCacheTtl
(number within 5–30 range): Specifies the waiting room page’s time to live in the cache,5
minutes by default.
Feature Previously Named: visitor_prioritization
Property Manager Name: Visitor Prioritization Cloudlet
watermarkUrl
Aliases a token to a watermark image URL.
Options:
token
(string): Specifies the string token.
imageUrl
(string): Specifies the URL for the watermark image. (Option Previously Named:image_url
.)
Feature Previously Named: watermark_tokens
Property Manager Name: Watermark Token
webApplicationFirewall
The Web Application Firewall behavior implements a suite of security features that blocks threatening HTTP and HTTPS requests. Use it as your primary firewall, or in addition to existing security measures. Only one referenced configuration is allowed per property, so this behavior typically belongs as part of its default rule.
Options:
firewallConfiguration
(object): An object featuring details about your firewall configuration, for example:"firewallConfiguration": { "configId" : 1, "productionStatus" : "Active", "productionVersion" : 1, "stagingStatus" : "Active", "stagingVersion" : 1 }
(Option Previously Named:
wafconfig
.)
Feature Previously Named: waf
Property Manager Name: Web Application Firewall (WAF)
webdav
Web-based Distributed Authoring and Versioning (WebDAV) is a set of extensions to the HTTP protocol that allows users to collaboratively edit and manage files on remote web servers. This behavior enables WebDAV, and provides support for the following additional request methods: PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK.
Options:
enabled
(boolean): Enables the WebDAV behavior. (Option Previously Named:status
. Retyped as boolean.)
Property Manager Name: WebDAV
webSockets
The WebSocket protocol allows web applications real-time bidirectional communication between clients and servers.
Options:
enabled
(boolean): Enables WebSocket traffic.
Property Manager Name: WebSockets
Criteria
The following represents all rule criteria the Property Manager API supports. The set available to you is determined by the product and modules associated with the property. Use the List Available Criteria operation to get this information.
This reference specifies features used in the v2016-11-15
rule
format. See the
PAPI Feature Catalog Reference
for details on the most recent feature set, which corresponds to the
latest
rule format.
bucket
This read-only
criteria matches a specified
percentage of requests when used with the required accompanying
spdy
behavior. Contact Akamai Professional
Services for help configuring it.
Options:
percentage
(number within 0–100 range): Specifies the percentage of SPDY requests to match. (Option Previously Named:bucket
.)
Property Manager Name: Percentage of Clients
cacheability
Matches the current cache
state. Note that any NO_STORE
or BYPASS_CACHE
HTTP headers set on
the origin’s content overrides properties’
caching
instructions, in which case this
criteria does not apply.
Options:
matchOperator
(enum string): When set toIS
, matches thevalue
. If set toIS_NOT
, reverses the match so that the cache state does not match the specifiedvalue
. (Option Previously Named:result
. Retyped boolean as enumeration.)
value
(enum string): Content’s cache is enabled (CACHEABLE
) or not (NO_STORE
), or else is ignored (BYPASS_CACHE
). (Capitalized enum values, with underscore delimiters.)
Property Manager Name: Response Cacheability
clientIp
Matches the IP number of the requesting client.
Options:
matchOperator
(enum string): Matches the contents ofvalues
if set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
values
(array of string values): IP or CIDR block, for example:71.92.0.0/14
. (Option Previously Named:value
.)
useHeaders
(boolean): When connecting via a proxy server as determined by theX-Forwarded-For
header, enabling this option matches the connecting client’s IP address rather than the original end client specified in the header. (Option Previously Named:use-headers
. Retyped as boolean.)
Feature Previously Named: clientip
Property Manager Name: Client IP
clientIpVersion
Matches the version of the IP protocol used by the requesting client.
Options:
value
(enum string): The IP version of the client request, eitherIPV4
orIPV6
. (Renamed enumerated4
and6
values toIPV4
andIPV6
.)
useXForwardedFor
(boolean): When connecting via a proxy server as determined by theX-Forwarded-For
header, enabling this option matches the connecting client’s IP address rather than the original end client specified in the header. (Option Previously Named:use-headers
. Retyped as boolean.)
Feature Previously Named: clientipversion
Property Manager Name: Client IP Version
cloudletsOrigin
Allows Cloudlets Origins, referenced by label, to define their own criteria to assign custom origin definitions. The criteria may match, for example, for a specified percentage of requests defined by the cloudlet to use an alternative version of a website.
This criteria must be paired with a sibling origin
definition. It should not appear with any other criteria, and an
allowCloudletsOrigins
behavior must
appear within a parent rule.
Options:
originId
(string): The Cloudlets Origins identifier, limited to alphanumeric and underscore characters.
Feature Previously Named: conditionalOriginId
Property Manager Name: Cloudlets Origin ID
contentDeliveryNetwork
A read-only criteria that specifies the type of Akamai network handling the request. Contact Akamai Professional Services for help configuring it.
Options:
matchOperator
(enum string): Matches the specifiednetwork
if set toIS
, otherwiseIS_NOT
reverses the match.. (Option Previously Named:result
. Renamed enumeratedtrue
/false
values toIS
/IS_NOT
.)
network
(enum string): Match requests served from either thePRODUCTION
orSTAGING
network. (Capitalized enum values. Renamed the enumerateduse-staging
value toSTAGING
.)
Feature Previously Named: network_match
Property Manager Name: CDN Network
contentType
Matches the HTTP response
header’s Content-Type
.
Options:
matchOperator
(enum string): Matches anyContent-Type
among specifiedvalues
when set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
values
(array of string values):Content-Type
response header value, for exampletext/html
. (Option Previously Named:value
.)
matchWildcard
(boolean): When enabled, allows*
and?
wildcard matches among thevalues
, so that specifyingtext/*
matches bothtext/html
andtext/css
. (Option Previously Named:value-wildcard
. Retyped as boolean.)
matchCaseSensitive
(boolean): When enabled, the match is case-sensitive for allvalues
. (Option Previously Named:value-case
. Retyped as boolean.)
Feature Previously Named: contenttype
Property Manager Name: Content Type
deviceCharacteristic
Match various aspects of the device or browser making the request.
Based on the value of the characteristic
option, the expected value
is either a boolean, a number, or a string, possibly representing a
version number. Each type of value requires a different value-
field:
booleanValue
specifies a boolean value.numericValue
specifies a numeric value.versionValue
specifies a version number string value.stringValue
specifies any other string value, to which thevalueCase
andvalueWildcard
options apply.
Options:
characteristic
(enum string): Aspect of the device or browser to match. The following values are boolean:ACCEPT_THIRD_PARTY_COOKIE
AJAX_SUPPORT_JAVASCRIPT
COOKIE_SUPPORT
DUAL_ORIENTATION
(whether the display adapts to portrait/landscape orientation)FULL_FLASH_SUPPORT
GIF_ANIMATED
IS_MOBILE
IS_TABLET
(subset ofIS_MOBILE
)IS_WIRELESS_DEVICE
The following are numeric values:
PHYSICAL_SCREEN_HEIGHT
(millimeters)PHYSICAL_SCREEN_WIDTH
(millimeters)RESOLUTION_HEIGHT
(pixels)RESOLUTION_WIDTH
(pixels)XHTML_SUPPORT_LEVEL
The following are version string values:
DEVICE_OS_VERSION
MOBILE_BROWSER_VERSION
The following are string values:
BRAND_NAME
(such asSamsung
orApple
)DEVICE_OS
MARKETING_NAME
(such asSamsung Illusion
)MOBILE_BROWSER
MODEL_NAME
(such asSCH-I110
)
(Capitalized enum values. Corrected the
full_flash_support
enum value, which is nowFULL_FLASH_SUPPORT
.)
stringMatchOperator
(enum string): When thecharacteristic
expects a string value, set this toMATCHES_ONE_OF
to match against thestringValue
set, otherwise set toDOES_NOT_MATCH_ONE_OF
to exclude that set of values. (Option Previously Named:op-string
. Retyped as boolean.)
numericMatchOperator
(enum string): When thecharacteristic
expects a numeric value, compares the specifiednumericValue
against the matched client, using the following operators:IS
,IS_MORE_THAN_OR_EQUAL
,IS_MORE_THAN
,IS_LESS_THAN_OR_EQUAL
,IS_LESS_THAN
,IS_NOT
. (Option Previously Named:op-number
. ChangedEQUAL
enum value toIS
,GREATER_EQUAL
toIS_MORE_THAN_OR_EQUAL
,GREATER_THAN
toIS_MORE_THAN
,LESS_EQUAL
toIS_LESS_THAN_OR_EQUAL
,LESS_THAN
toIS_LESS_THAN
, andNOT_EQUAL
toIS_NOT
.)
versionMatchOperator
(enum string): When thecharacteristic
expects a version string value, compares the specifiedversionValue
against the matched client, using the following operators:IS
,IS_MORE_THAN_OR_EQUAL
,IS_MORE_THAN
,IS_LESS_THAN_OR_EQUAL
,IS_LESS_THAN
,IS_NOT
. (Option Previously Named:op-version
. ChangedVERSION_EQUAL
enum value toIS
,VERSION_NOT_EQUAL
toIS_NOT
,VERSION_GREATER_THAN
toIS_MORE_THAN
,VERSION_LESS_EQUAL
toIS_LESS_THAN_OR_EQUAL
,VERSION_LESS_THAN
toIS_LESS_THAN
, andVERSION_NOT_EQUAL
toIS_NOT
.)
booleanValue
(boolean): When thecharacteristic
expects a boolean value, this specifies the value. (Option Previously Named:value-boolean
. Retyped as boolean.)
stringValue
(array of string values): When thecharacteristic
expects a string, this specifies the set of values. (Option Previously Named:value-string
.)
numericValue
(number): When thecharacteristic
expects a numeric value, this specifies the number. (Option Previously Named:value-number
.)
versionValue
(string): When thecharacteristic
expects a version number, this specifies it as a string. (Option Previously Named:value-version
.)
matchCaseSensitive
(boolean): When enabled, the match is case-sensitive for thestringValue
field. (Option Previously Named:value-case
. Retyped as boolean.)
matchWildcard
(boolean): When enabled, allows*
and?
wildcard matches in thestringValue
field. (Option Previously Named:value-wildcard
. Retyped as boolean.)
Feature Previously Named: devicecharacteristics
Property Manager Name: Device Characteristics
fileExtension
Matches the requested filename’s extension, if present.
Options:
matchOperator
(enum string): Matches the contents ofvalues
if set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
values
(array of string values): An array of file extension strings, with no leading dot characters, for examplepng
,jpg
,jpeg
, andgif
. (Option Previously Named:value
.)
matchCaseSensitive
(boolean): When enabled, the match is case-sensitive. (Option Previously Named:case
. Retyped as boolean.)
Feature Previously Named: ext
Property Manager Name: File Extension
filename
Matches the requested filename, or test whether it is present.
Options:
matchOperator
(enum string): If set toIS_ONE_OF
orIS_NOT_ONE_OF
, matches whether thevalue
matches. If set toIS_EMPTY
orIS_NOT_EMPTY
, matches whether the specified filename is part of the path. (Option Previously Named:result
. Renamed enumeratedtrue
/false
values toIS_ONE_OF
/IS_NOT_ONE_OF
, and renamedempty
/not_empty
toIS_EMPTY
/IS_NOT_EMPTY
.)
values
(array of string values): Matches the filename component of the request URL. Wildcards are allowed, where?
matches a single character and*
matches more than one. For example, specifyfilename.*
to accept any extension. (Option Previously Named:value
.)
matchCaseSensitive
(boolean): When enabled, the match is case-sensitive for thevalue
field. (Option Previously Named:case
. Retyped as boolean.)
Property Manager Name: Filename
hostname
Matches the requested hostname.
Options:
matchOperator
(enum string): Matches the contents ofvalues
when set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
values
(array of string values): A list of hostnames. Wildcards match, so*.example.com
matches bothm.example.com
andwww.example.com
. (Option Previously Named:host
.)
Feature Previously Named: hoit
Property Manager Name: Hostname
matchAdvanced
A read-only criteria that specifies Akamai XML metadata. It can only be configured on your behalf by Akamai Professional Services.
Options:
description
(string): A human-readable description of what the XML block does.
openXml
(string): An XML string that opens the relevant block. (Option Previously Named:open_xml
.)
closeXml
(string): An XML string that closes the relevant block. (Option Previously Named:close_xml
.)
Feature Previously Named: advancedmatch
Property Manager Name: Advanced Match
matchCpCode
Match the assigned content provider code.
Options:
value
(object): Specifies an object that encodes the matchingvalue
, including anid
key and a descriptivename
:"value": { "id" : 12345, "name" : "my cpcode" }
(Option Previously Named:
cpcode
.)
Feature Previously Named: matchcpcode
Property Manager Name: Content Provider Code
matchResponseCode
Match a set or range of HTTP response codes.
Options:
matchOperator
(enum string): Matches the contents ofvalues
if set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. If set toIS_BETWEEN
, matches the numeric range betweenlowerBound
andupperBound
, otherwiseIS_NOT_BETWEEN
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
values
(array of string values): A set of response codes to match, for example["404","500"]
. (Option Previously Named:value
.)
lowerBound
(number): Specifies the start of a range of responses whenmatchOperator
is eitherIS_BETWEEN
orIS_NOT_BETWEEN
. For example,400
to match anything from400
to500
. (Option Previously Named:range-start-value
.)
upperBound
(number): Specifies the end of a range of responses whenmatchOperator
is eitherIS_BETWEEN
orIS_NOT_BETWEEN
. For example,500
to match anything from400
to500
. (Option Previously Named:range-end-value
.)
Feature Previously Named: responsecode
Property Manager Name: Response Status Code
matchVariable
Matches a built-in
variable, or a custom variable pre-declared within the rule tree by
the setVariable
behavior.
See the Variables section for more information on this feature.
Options:
variableName
(string): The name of the variable to match.
matchOperator
(enum string): The type of match, based on which you use different options to specify the match criteria.- If set to
IS
orIS_NOT
, specify a singlevariableExpression
string. - If set to
IS_ONE_OF
orIS_NOT_ONE_OF
, specify an array of stringvariableValues
. - If set to
IS_BETWEEN
orIS_NOT_BETWEEN
, specify a range between numericlowerBound
andupperBound
values. - If set to
IS_EMPTY
orIS_NOT_EMPTY
, no other option is required. These check if a defined variable contains a value. You can’t activate a rule that matches an undefined variable.
(Option Previously Named:
mode
.)- If set to
variableValues
(array of string values): WithmatchOperator
set to eitherIS_ONE_OF
orIS_NOT_ONE_OF
, specifies an array of matching strings.
variableExpression
(string; allows variables): WithmatchOperator
set to eitherIS
orIS_NOT
, specifies a single matching string.
lowerBound
(string; allows variables): WithmatchOperator
set to eitherIS_BETWEEN
orIS_NOT_BETWEEN
, specifies the range’s numeric minimum value.
upperBound
(string; allows variables): WithmatchOperator
set to eitherIS_BETWEEN
orIS_NOT_BETWEEN
, specifies the range’s numeric maximum value.
matchWildcard
(boolean): When matching string expressions, enabling this matches wildcard metacharacters such as*
and?
. (Option Previously Named:valueWildcard
.)
matchCaseSensitive
(boolean): When matching string expressions, enabling this performs a case-sensitive match. (Option Previously Named:valueCase
.)
Property Manager Name: Variable
originTimeout
Matches when the origin responds with a timeout error.
Options:
matchOperator
(enum string): Specifies a single requiredORIGIN_TIMED_OUT
value. (Option Previously Named:result
. Renamed thetrue
enumerated value toORIGIN_TIMED_OUT
.)
Feature Previously Named: origintimeout
Property Manager Name: Origin Timeout
path
Matches the URL’s non-hostname path component.
Options:
matchOperator
(enum string): Matches the contents ofvalues
when set toMATCHES_ONE_OF
, otherwiseDOES_NOT_MATCH_ONE_OF
reverses the match. (Option Previously Named:result
. Renamed enumeratedtrue
/false
values toMATCHES_ONE_OF
/DOES_NOT_MATCH_ONE_OF
.)
values
(array of string values): Matches the URL path, excluding leading hostname and trailing query parameters. The path is relative to the server root, for example/blog
. Thevalue
accepts*
or?
wildcard characters, for example/blog/*/2014
. (Option Previously Named:value
.)
matchCaseSensitive
(boolean): When enabled, the match is case-sensitive. (Option Previously Named:case
. Retyped as boolean.)
Feature Previously Named: wildcard
Property Manager Name: Path
queryStringParameter
Matches query string field names or values.
Options:
parameterName
(string): The name of the query field, for example,q
in?q=string
. (Option Previously Named:name
.)
matchOperator
(enum string): Narrows the match according to the following criteria:EXISTS
orDOES_NOT_EXIST
tests whether the query field’sparameterName
is present in the requesting URL.IS_ONE_OF
orIS_NOT_ONE_OF
tests whether the field’svalue
string matches.IS_LESS_THAN
orIS_MORE_THAN
matches ranges when thevalue
is numeric.IS_BETWEEN
also matches numeric ranges, but considerslowerBound
andupperBound
fields rather thanvalue
.
(Option Previously Named:
result
. Capitalized enum values, with underscore delimiters. Changed enumeratedtrue
/false
values toIS_ONE_OF
/IS_NOT_ONE_OF
, and changeddoesntexist
toDOES_NOT_EXIST
.)
values
(array of string values): The value of the query field, for example,string
in?q=string
. (Option Previously Named:value
.)
lowerBound
(number): When thevalue
is numeric and thematchOperator
is set toIS_BETWEEN
, this field specifies the match’s minimum value. (Option Previously Named:lowerbound
.)
upperBound
(number): When thevalue
is numeric and thematchOperator
is set toIS_BETWEEN
, this field specifies the match’s maximum value. (Option Previously Named:upperbound
.)
matchWildcardName
(boolean): When enabled, allows*
and?
wildcard matches in theparameterName
field. (Option Previously Named:name-wildcard
. Retyped as boolean.)
matchCaseSensitiveName
(boolean): When enabled, the match is case-sensitive for theparameterName
field. (Option Previously Named:name-case
. Retyped as boolean.)
matchWildcardValue
(boolean): When enabled, allows*
and?
wildcard matches in thevalue
field. (Option Previously Named:value-wildcard
. Retyped as boolean.)
matchCaseSensitiveValue
(boolean): When enabled, the match is case-sensitive for thevalue
field. (Option Previously Named:value-case
. Retyped as boolean.)
escapeValue
(boolean): When enabled, matches when thevalue
is URL-escaped. (Option Previously Named:value-escape
. Retyped as boolean.)
Feature Previously Named: querystring
Property Manager Name: Query String Parameter
random
Matches a specified percentage of requests. Use this match to apply behaviors to a percentage of your incoming requests that differ from the remainder, useful for A/b testing, or to offload traffic onto different servers.
Options:
bucket
(number within 0–100 range): Specify a percentage of random requests to which to apply a behavior. Any remainders do not match.
Property Manager Name: Sample Percentage
requestCookie
Match the cookie name or value passed with the request.
Options:
cookieName
(string): The name of the cookie, for example,visitor
invisitor:anon
. (Option Previously Named:name
.)
matchOperator
(enum string): Narrows the match according to the following criteria:EXISTS
orDOES_NOT_EXIST
tests whether the cookiecookieName
exists.IS
orIS_NOT
tests whether the field’svalue
string matches.IS_BETWEEN
tests whether a numeric cookievalue
falls betweenlowerBound
andupperBound
.
(Option Previously Named:
result
. Capitalized enum values, with underscore delimiters. Changed enumeratedtrue
/false
values toIS_ONE_OF
/IS_NOT_ONE_OF
, and changeddoesntexist
toDOES_NOT_EXIST
.)
value
(string): The cookie’s value, for example,anon
invisitor:anon
.
lowerBound
(number): When thevalue
is numeric and thematchOperator
is set toIS_BETWEEN
, this field specifies the match’s minimum value. (Option Previously Named:lower
.)
upperBound
(number): When thevalue
is numeric and thematchOperator
is set toIS_BETWEEN
, this field specifies the match’s maximum value. (Option Previously Named:upper
.)
matchWildcardName
(boolean): When enabled, allows*
and?
wildcard matches in thecookieName
field. (Option Previously Named:name-wildcard
. Retyped as boolean.)
matchCaseSensitiveName
(boolean): When enabled, the match is case-sensitive for thecookieName
field. (Option Previously Named:name-case
. Retyped as boolean.)
matchWildcardValue
(boolean): When enabled, allows*
and?
wildcard matches in thevalue
field. (Option Previously Named:value-wildcard
. Retyped as boolean.)
matchCaseSensitiveValue
(boolean): When enabled, the match is case-sensitive for thevalue
field. (Option Previously Named:value-case
. Retyped as boolean.)
Feature Previously Named: requestcookie
Property Manager Name: Request Cookie
requestHeader
Match HTTP header names or values.
Options:
headerName
(string): The name of the request header, for exampleAccept-Language
. (Option Previously Named:name
.)
matchOperator
(enum string): Narrows the match according to the following criteria:EXISTS
orDOES_NOT_EXIST
tests whether the fieldheaderName
exists.IS_ONE_OF
orIS_NOT_ONE_OF
tests whether the field’svalue
string matches.
(Option Previously Named:
result
. Capitalized enum values. Changed enumeratedtrue
/false
values toIS_ONE_OF
/IS_NOT_ONE_OF
, and changeddoesntexist
toDOES_NOT_EXIST
.)
values
(array of string values): The request header’s value, for exampleen-US
when the headerheaderName
isAccept-Language
. (Option Previously Named:value
.)
matchWildcardName
(boolean): When enabled, allows*
and?
wildcard matches in theheaderName
field. (Option Previously Named:name-wildcard
. Retyped as boolean.)
matchWildcardValue
(boolean): When enabled, allows*
and?
wildcard matches in thevalue
field. (Option Previously Named:value-wildcard
. Retyped as boolean.)
matchCaseSensitiveValue
(boolean): When enabled, the match is case-sensitive for thevalue
field. (Option Previously Named:value-case
. Retyped as boolean.)
Feature Previously Named: requestheader
Property Manager Name: Request Header
requestMethod
Specify the request’s HTTP verb.
Options:
matchOperator
(enum string): Matches thevalue
when set toIS
, otherwiseIS_NOT
reverses the match. (Option Previously Named:result
. Retyped as boolean.)
value
(enum string): Any of the following HTTP methods:CONNECT
,COPY
,GET
,HEAD
,HTTP_DELETE
,OPTIONS
,POST
,PUT
, andTRACE
. Also the following WebDAV headers:DAV_COPY
,DAV_LOCK
,DAV_MKCOL
,DAV_MOVE
,DAV_PROPFIND
,DAV_PROPPATCH
, andDAV_UNLOCK
.
Feature Previously Named: requestmethod
Property Manager Name: Request Method
requestProtocol
Matches whether the request uses the HTTP or HTTPS protocol.
Options:
value
(enum string): EitherHTTP
orHTTPS
.
Feature Previously Named: requestprotocol
Property Manager Name: Request Protocol
responseHeader
Match HTTP header names or values.
Options:
headerName
(string): The name of the response header, for exampleContent-Type
. (Option Previously Named:name
.)
matchOperator
(enum string): Narrows the match according to the following criteria:EXISTS
orDOES_NOT_EXIST
tests whether the HTTP fieldheaderName
is present.IS_ONE_OF
orIS_NOT_ONE_OF
tests whether the field’svalue
string matches.IS_LESS_THAN
orIS_MORE_THAN
matches ranges when thevalue
is numeric.IS_BETWEEN
also matches numeric ranges, but considerslowerBound
andupperBound
fields rather thanvalue
.
(Option Previously Named:
result
. Capitalized enum values, with underscore delimiters. Changed enumeratedtrue
/false
values toIS_ONE_OF
/IS_NOT_ONE_OF
, and changeddoesntexist
toDOES_NOT_EXIST
.)
values
(array of string values): The response header’s value, for exampleapplication/x-www-form-urlencoded
when the headerheaderName
isContent-Type
. (Option Previously Named:value
.)
lowerBound
(number): When thevalue
is numeric and thematchOperator
is set toIS_BETWEEN
, this field specifies the match’s minimum value. (Option Previously Named:lowerbound
.)
upperBound
(number): When thevalue
is numeric and thematchOperator
is set toIS_BETWEEN
, this field specifies the match’s maximum value. (Option Previously Named:upperbound
.)
matchWildcardName
(boolean): When enabled, allows*
and?
wildcard matches in theheaderName
field. (Option Previously Named:name-wildcard
. Retyped as boolean.)
matchWildcardValue
(boolean): When enabled, allows*
and?
wildcard matches in thevalue
field. (Option Previously Named:value-wildcard
. Retyped as boolean.)
matchCaseSensitiveValue
(boolean): When enabled, the match is case-sensitive for thevalue
field. (Option Previously Named:value-case
. Retyped as boolean.)
Feature Previously Named: responseheader
Property Manager Name: Response Header
time
Specifies ranges of times during which the request occurred.
Options:
matchOperator
(enum string): Specifies how to define the range of time:BEGINNING
if the duration is indefinite, using the value ofbeginDate
.BETWEEN
sets a single range between two dates, using the values ofbeginDate
andendDate
.LASTING
also sets a single range, but based on duration relative to the starting time. It relies on the values oflastingDate
andlastingDuration
.REPEATING
allows aLASTING
-style range to repeat at regular intervals. It relies on the values ofrepeatBeginDate
,repeatDuration
, andrepeatInterval
.
(Option Previously Named:
behavior
. Capitalized enum values.)
repeatInterval
(duration string): Sets the time between each repeating time period’s starting points whenbehavior
set toREPEATING
. (Option Previously Named:repeatinterval
.)
repeatDuration
(duration string): Sets the duration of each repeating time period withbehavior
set toREPEATING
. (Option Previously Named:repeatduration
.)
lastingDuration
(duration string): Withbehavior
set toLASTING
, specifies the end of a time period as a duration relative to thelastingDate
. (Option Previously Named:lastingduration
.)
lastingDate
(ISO 8601 format date/time string): Sets the start of a fixed time period withbehavior
set toLASTING
. (Option Previously Named:lastingdate
.)
repeatBeginDate
(ISO 8601 format date/time string): Sets the start of the initial time period withbehavior
set toREPEATING
. (Option Previously Named:repeatbegindate
.)
applyDaylightSavingsTime
(boolean): Adjusts the start time plus repeat interval to account for daylight saving time. Applies when the current time and the start time use different systems, daylight and standard, and the two values are in conflict. (Option Previously Named:applydst
. Retyped as boolean.)
beginDate
(ISO 8601 format date/time string): Sets the start of a time period withbehavior
set toBEGINNING
orBETWEEN
. (Option Previously Named:begindate
.)
endDate
(ISO 8601 format date/time string): Sets the end of a fixed time period withbehavior
set toBETWEEN
. (Option Previously Named:enddate
.)
Property Manager Name: Time Interval
tokenAuthorization
Match on Auth Token 2.0 verification results.
Options:
matchOperator
(enum string): EitherIS_SUCCESS
if there are no errors,IS_CUSTOM_FAILURE
for any errors specified bystatusList
, orIS_ANY_FAILURE
if there are any errors. (Option Previously Named:result
. Capitalized enum values, with underscore delimiters. Renamed the enumeratedFAIL
value toIS_CUSTOM_FAILURE
,FAIL_ALL
toIS_ANY_FAILURE
, andPASS
toIS_SUCCESS
.)
statusList
(array of string values): Match specific failure cases:
EXPIRED_TOKEN INVALID_ACL_DELIMITER INVALID_DELIMITER INVALID_HMAC INVALID_HMAC_KEY INVALID_IP INVALID_TOKEN INVALID_URL MISSING_EXPIRATION_TIME MISSING_TOKEN MISSING_URL NEED_URL_XOR_ACL TOKEN_NOT_VALID_YET UNAUTHORIZED_IP UNAUTHORIZED_URL UNSUPPORTED_VERSION
(Removed
failure:
prefix from enum values and changed to uppercase with underscore delimiters.)
Feature Previously Named: token_auth_match
Property Manager Name: Token Verification Result
userAgent
Matches the user agent string that helps identify the client browser and device.
Options:
matchOperator
(enum string): Matches the specified set ofvalues
when set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
values
(array of string values): TheUser-Agent
header’s value. For example,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
. (Option Previously Named:value
.)
matchWildcard
(boolean): When enabled, allows*
and?
wildcard matches in thevalue
field. For example,*Android*
,*iPhone5*
,*Firefox*
, or*Chrome*
. (Option Previously Named:value-wildcard
. Retyped as boolean.)
matchCaseSensitive
(boolean): When enabled, the match is case-sensitive for thevalue
field. (Option Previously Named:value-case
. Retyped as boolean.)
Feature Previously Named: useragent
Property Manager Name: User Agent
userLocation
The client browser’s approximate geographic location, determined by looking up the IP address in a database.
Options:
field
(enum string): Indicates the geographic scope:CONTINENT
,COUNTRY
, orREGION
for states or provinces within a country. (Renamed enumeratedCOUNTRY_CODE
andREGION_CODE
values toCOUNTRY
andREGION
.)
matchOperator
(enum string): Matches the specified set of values when set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
countryValues
(array of string values): ISO 3166–1 country code, such asUS
orCN
. (Option Previously Named:country-value
.)
continentValues
(array of string values): Continent code, one ofAF
(Africa),AS
(Asia),EU
(Europe),NA
(North America),SA
(South America),OC
(Oceania), orOT
(Antarctica). (Option Previously Named:continent-value
.)
regionValues
(array of string values): ISO 3166 country and region codes, for exampleUS:MA
for Massachusetts orJP:13
for Tokyo. (Option Previously Named:region-value
.)
checkIps
(enum string): Specifies which IP addresses determine the user’s location:CONNECTING
considers the connecting client’s IP address.HEADERS
considers IP addresses specified in theX-Forwarded-For
header, succeeding if any of them match.BOTH
behaves likeHEADERS
, but also considers the connecting client’s IP address.
(Option Previously Named:
check-ips
. Capitalized enum values.)
useOnlyFirstXForwardedForIp
(boolean): When connecting via a proxy server as determined by theX-Forwarded-For
header, enabling this option matches the end client specified in the header. Disabling it matches the connecting client’s IP address. (Option Previously Named:use-headers
. Retyped as boolean.)
Feature Previously Named: userlocation
Property Manager Name: User Location Data
userNetwork
Matches details of the network over which the request was made, determined by looking up the IP address in a database.
Options:
field
(enum string): The type of information to match, eitherBANDWIDTH
, a specificNETWORK
, or a more generalNETWORK_TYPE
. (Renamed the enumeratedBW
value toBANDWIDTH
.)
matchOperator
(enum string): Matches the specified set of values when set toIS_ONE_OF
, otherwiseIS_NOT_ONE_OF
reverses the match. (Option Previously Named:result
. Changed boolean to enumeratedIS_ONE_OF
/IS_NOT_ONE_OF
values.)
networkTypeValues
(array of string values): Specifies the basic type of network, eitherCABLE
,DIALUP
,DSL
,FIOS
,ISDN
,MOBILE
, orUVERSE
. (Option Previously Named:network-type-value
. Capitalized enum values.)
networkValues
(array of string values): Any set of specific networks:
airtel alpha_internet altitudetelecom aol arnet asahi att bellcanada biglobe bitmailer bouygues brighthouse bskyb bt cablevision cernet chinamobile chinanet chinaunicom clearwire colt comcast completel compuserve covad dion dreamnet dtag dti earthlink easynet eurociber fastweb fibertel francetelecom free freecom h3g hinet ibm idecnet iij4u infosphere janet jazztell justnet livedoor mci mediacom mediaone microsoft mil nerim newnet @nifty numericable ocn odn ono panasonic-hi-ho plala plusnet prodigy qwest rediris renater reserved retevision roadrunner rogers seednet seikyo_internet sfr shaw so-net sprint suddenlink talktalk telefonica telstra terramexico ti tikitiki timewarner tiscali tmobile turktelekom uni2 uninet upc uunet verizon virginmedia vodafone wakwak wind windstream zero
(Option Previously Named: network-value
. Capitalized enum values, with underscore delimiters.)
bandwidthValues
(array of string values): Bandwidth range in bits per second, either1
,57
,257
,1000
,2000
, or5000
. (Option Previously Named:bandwidth-value
.)
checkIps
(enum string): Specifies which IP addresses determine the user’s network:CONNECTING
considers the connecting client’s IP address.HEADERS
considers IP addresses specified in theX-Forwarded-For
header, succeeding if any of them match.BOTH
behaves likeHEADERS
, but also considers the connecting client’s IP address.
(Option Previously Named:
check-ips
. Capitalized enum values.)
useOnlyFirstXForwardedForIp
(boolean): When connecting via a proxy server as determined by theX-Forwarded-For
header, enabling this option matches the end client specified in the header. Disabling it matches the connecting client’s IP address. (Option Previously Named:use-headers
. Retyped as boolean.)
Feature Previously Named: usernetwork
Property Manager Name: User Network Data
variableError
Matches any runtime
errors that occur on edge servers based on the configuration of a
setVariable
behavior. See the
Variables section for more
information on this feature.
Options:
result
(boolean): When enabled, matches errors for the specified set ofvariableNames
, otherwise matches errors from variables outside that set. (In the Beta API, please substitute"true"
and"false"
string values.)
variableNames
(string): The name of the variable whose error triggers the match, or a space- or comma-delimited list of more than one variable name. Note that if you define a variable namedVAR
, the name in this field must appear with its added prefix asPMUSER_VAR
. When such a variable is inserted into other fields, it appears with an additional namespace as{{user.PMUSER_VAR}}
. See thesetVariable
for details on variable names.
Property Manager Name: Variable Error