NAME
Paws::CloudFront::Headers
USAGE
This class represents one of two things:
Arguments in a call to a service
Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. Each attribute should be used as a named argument in the calls that expect this type of object.
As an example, if Att1 is expected to be a Paws::CloudFront::Headers object:
$service_obj->Method(Att1 => { Items => $value, ..., Quantity => $value });
Results returned from an API call
Use accessors for each attribute. If Att1 is expected to be an Paws::CloudFront::Headers object:
$result = $service_obj->Method(...);
$result->Att1->Items
DESCRIPTION
A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.
For the headers that you specify, CloudFront caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex, and you configure CloudFront to cache your content based on values in the product header. CloudFront forwards the product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the Amazon CloudFront Developer Guide.
ATTRIBUTES
Items => ArrayRef[Str|Undef]
A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.
REQUIRED Quantity => Int
The number of different headers that you want CloudFront to base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:
Forward all headers to your origin: Specify
1forQuantityand*forName.CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.
Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in
Nameelements. CloudFront caches your objects based on the values in the specified headers.Forward only the default headers: Specify
0forQuantityand omitItems. In this configuration, CloudFront doesn't cache based on the values in the request headers.
Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:
S3 bucket: See HTTP Request Headers That CloudFront Removes or Updates (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#request-s3-removed-headers)
Custom origin: See HTTP Request Headers and CloudFront Behavior (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior)
SEE ALSO
This class forms part of Paws, describing an object used in Paws::CloudFront
BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues