Question 541 of 1,040
Design High-Performing ArchitectureshardMultiple ChoiceObjective-mapped

Quick Answer

The correct answer is to remove Authorization and unnecessary query strings from the CloudFront cache key. This works because CloudFront uses the cache key—a combination of the request’s host, path, and specified headers, cookies, or query strings—to determine whether a request can be served from the edge cache. By stripping out Authorization headers and irrelevant query parameters, you ensure that all users requesting the same versioned static asset, such as style.v2.css, share a single cached object, dramatically improving the cache hit ratio without altering the origin objects. On the SAA-C03 exam, this scenario tests your understanding of CloudFront cache key customization, often appearing as a trap where candidates mistakenly try to shorten TTLs or change origin behavior. A common memory tip: think of the cache key as a locker combination—only include the numbers that matter, or everyone gets a different locker.

SAA-C03 Design High-Performing Architectures Practice Question

This SAA-C03 practice question tests your understanding of design high-performing architectures. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Exhibit

CloudFront distribution settings excerpt:
- Cache policy: custom
- Headers included in cache key: Authorization, CloudFront-Viewer-Country
- Query strings included in cache key: all
- Cookies included in cache key: none

Origin request sample:
GET /app.8f3a2c1.js?v=20260428 HTTP/1.1
Host: d123.cloudfront.net
Authorization: Bearer eyJhbGciOi...
User-Agent: Mozilla/5.0

CloudFront analytics:
- CacheHitRate: 18%
- OriginFetches: spike immediately after each deploy
- Origin bytes out: high for unchanged JS and CSS files

Based on the exhibit, a static asset distribution site uses Amazon CloudFront with an S3 origin. The assets are versioned by filename, but the cache hit ratio remains low after each release. Which CloudFront change is the best way to improve cache reuse without changing the origin objects?

Clue words in this question

Noticing these words before you look at the options changes how you read each choice.

  • Clue: "best"

    Why it matters: Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.

Question 1hardmultiple choice
Full question →

Exhibit

CloudFront distribution settings excerpt:
- Cache policy: custom
- Headers included in cache key: Authorization, CloudFront-Viewer-Country
- Query strings included in cache key: all
- Cookies included in cache key: none

Origin request sample:
GET /app.8f3a2c1.js?v=20260428 HTTP/1.1
Host: d123.cloudfront.net
Authorization: Bearer eyJhbGciOi...
User-Agent: Mozilla/5.0

CloudFront analytics:
- CacheHitRate: 18%
- OriginFetches: spike immediately after each deploy
- Origin bytes out: high for unchanged JS and CSS files

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Remove Authorization and unnecessary query strings from the CloudFront cache key.

Option B is correct because removing Authorization headers and unnecessary query strings from the CloudFront cache key ensures that multiple requests for the same versioned asset (e.g., style.v2.css) share a single cached object, regardless of user-specific headers or irrelevant query parameters. This directly increases the cache hit ratio without modifying the origin objects, as CloudFront will serve the same cached response for identical cache keys.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Keep the current cache key and increase the S3 bucket's storage class.

    Why it's wrong here

    Changing S3 storage class does not improve CloudFront cache reuse. The problem is that the cache key is too granular and prevents reuse across requests.

  • Remove Authorization and unnecessary query strings from the CloudFront cache key.

    Why this is correct

    Versioned static assets do not need Authorization in the cache key, and arbitrary query strings can destroy cache efficiency. Excluding those fields lets CloudFront reuse the same cached object across many viewers.

    Clue confirmation

    The clue word "best" in the question point toward this answer.

    Related concept

    Read the scenario before looking for a memorised answer.

  • Disable the CloudFront cache so every request is served directly from S3.

    Why it's wrong here

    Disabling caching guarantees more origin traffic and worse performance. It would make the origin fetch problem much worse instead of improving cache reuse.

  • Switch the origin from Amazon S3 to an Application Load Balancer.

    Why it's wrong here

    An ALB origin is not appropriate for static versioned asset delivery. It adds cost and complexity without addressing the cache-key design issue that is hurting hit ratio.

Common exam traps

Common exam trap: answer the scenario, not the keyword

The trap here is that candidates may think increasing storage class or switching to an ALB improves caching, but the real issue is the cache key composition—specifically, unnecessary headers or query strings fragmenting the cache—which is solved by adjusting the CloudFront cache key settings.

Detailed technical explanation

How to think about this question

CloudFront uses a cache key composed of the request's protocol, host, path, and selected headers/query strings. By default, CloudFront includes the Authorization header in the cache key, which can cause separate cache entries for authenticated vs. unauthenticated users even if the asset is public. Removing such headers and irrelevant query strings (e.g., tracking parameters like utm_source) collapses multiple cache entries into one, dramatically improving the cache hit ratio. This is configured via CloudFront's cache policy or origin request policy, not by modifying the S3 objects.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related SAA-C03 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free SAA-C03 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this SAA-C03 question test?

Design High-Performing Architectures — This question tests Design High-Performing Architectures — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: Remove Authorization and unnecessary query strings from the CloudFront cache key. — Option B is correct because removing Authorization headers and unnecessary query strings from the CloudFront cache key ensures that multiple requests for the same versioned asset (e.g., style.v2.css) share a single cached object, regardless of user-specific headers or irrelevant query parameters. This directly increases the cache hit ratio without modifying the origin objects, as CloudFront will serve the same cached response for identical cache keys.

What should I do if I get this SAA-C03 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Are there clue words in this question I should notice?

Yes — watch for: "best". Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more ways this is tested on SAA-C03

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A media company serves versioned JavaScript and CSS files from an Amazon S3 origin through CloudFront. After each release, origin requests spike even though the files are public. Browser requests include a tracking cookie, an Authorization header, and a cache-busting query string that the site no longer needs. Which three changes will most improve the CloudFront cache hit ratio without exposing private content? Select three.

hard
  • A.Rename each static asset with a content hash or release version in the filename before publishing.
  • B.Create a CloudFront cache policy that excludes unnecessary query strings and cookies from the cache key.
  • C.Use an origin request policy that forwards only the headers and cookies the origin truly needs.
  • D.Enable CloudFront compression and configure the origin to return Cache-Control: no-store for all files.
  • E.Forward all viewer headers to the origin so CloudFront can personalize every request.

Why A: Option A is correct because renaming static assets with a content hash or version in the filename ensures that each new release creates a unique object key in S3. This allows CloudFront to treat the new file as a distinct object, avoiding cache invalidation issues and enabling long-term caching of the old version. Without this, even with cache-busting query strings, CloudFront might still serve stale content or require frequent invalidations, reducing the cache hit ratio.

Last reviewed: Jun 11, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.