Class: Aws::CloudFront::Types::Headers
- Inherits:
-
Struct
- Object
- Struct
- Aws::CloudFront::Types::Headers
- Includes:
- Structure
- Defined in:
- lib/aws-sdk-cloudfront/types.rb
Overview
When making an API call, you may pass Headers data as a hash:
{
quantity: 1, # required
items: ["string"],
}
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][1
-
in the *Amazon
CloudFront Developer Guide*.
[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html
Instance Attribute Summary collapse
-
#items ⇒ Array<String>
A list that contains one ‘Name` element for each header that you want CloudFront to use for caching in this cache behavior.
-
#quantity ⇒ Integer
The number of different headers that you want CloudFront to base caching on for this cache behavior.
Instance Attribute Details
#items ⇒ Array<String>
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`.
4930 4931 4932 4933 4934 |
# File 'lib/aws-sdk-cloudfront/types.rb', line 4930 class Headers < Struct.new( :quantity, :items) include Aws::Structure end |
#quantity ⇒ Integer
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 ‘1` for `Quantity` and `*` for `Name`.
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 ‘Name` elements. CloudFront caches your objects based on the values in the specified headers.
-
**Forward only the default headers**: Specify ‘0` for `Quantity` and omit `Items`. 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]
-
**Custom origin**: See [HTTP Request Headers and CloudFront Behavior]
[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#request-s3-removed-headers [2]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior
4930 4931 4932 4933 4934 |
# File 'lib/aws-sdk-cloudfront/types.rb', line 4930 class Headers < Struct.new( :quantity, :items) include Aws::Structure end |