Class: Aws::CloudFront::Types::Headers

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-cloudfront/types.rb

Overview

Note:

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

Instance Attribute Details

#itemsArray<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`.

Returns:

  • (Array<String>)


4649
4650
4651
4652
4653
# File 'lib/aws-sdk-cloudfront/types.rb', line 4649

class Headers < Struct.new(
  :quantity,
  :items)
  include Aws::Structure
end

#quantityInteger

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

Returns:

  • (Integer)


4649
4650
4651
4652
4653
# File 'lib/aws-sdk-cloudfront/types.rb', line 4649

class Headers < Struct.new(
  :quantity,
  :items)
  include Aws::Structure
end