Courseiva
Design High-Performing ArchitectureseasyMultiple ChoiceObjective-mapped

SAA-C03 Design High-Performing Architectures Practice Question

A company serves mostly static images and JavaScript files from an origin in one AWS Region. They want to reduce origin load and improve global performance. Which change most directly increases cache-hit ratio for static assets while avoiding stale content?

⚠ Common exam trap

Many exam-takers confuse 'no-cache' with 'no-store' or think that disabling query strings universally improves caching, but they fail to recognize that versioned filenames with long TTLs are the standard pattern for maximizing cache hits while ensuring content freshness.

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

Use versioned file names (e.g., app.abc123.js) and configure a long TTL with appropriate revalidation behavior.

Using versioned file names (e.g., app.abc123.js) allows you to set a long Cache-Control max-age TTL (e.g., one year) without risking stale content. When the file changes, the new version gets a new URL, so clients and edge caches immediately fetch the fresh object, maximizing cache hits for unchanged assets while avoiding stale content.

Answer analysis

Option-by-option breakdown

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

  • Set Cache-Control headers on the origin to always be no-cache so clients revalidate frequently.

    Why it's wrong here

    No-cache forces frequent revalidation, which reduces CloudFront cache usefulness and increases origin requests.

    When this WOULD be correct

    In a scenario where content changes frequently and users must always see the latest version (e.g., real-time stock prices or live scores), and origin load is not a concern, using no-cache ensures freshness while still allowing conditional revalidation.

  • Use versioned file names (e.g., app.abc123.js) and configure a long TTL with appropriate revalidation behavior.

    Why this is correct

    Versioned assets allow long caching with confidence, while new filenames trigger updates when code changes.

  • Disable query string forwarding so all URLs without query strings share one cached object even when content differs.

    Why it's wrong here

    This can cause incorrect content delivery if different query parameters generate different responses.

    When this WOULD be correct

    In a scenario where query strings are used for tracking or analytics (e.g., ?utm_source=facebook) and do not affect the actual content served, disabling query string forwarding would increase cache-hit ratio by treating all variations as the same object, improving cache efficiency without serving incorrect content.

  • Forward all headers, including cookies, to maximize personalization in edge cached responses.

    Why it's wrong here

    Forwarding cookies and all headers typically reduces cache hits and increases cache fragmentation.

    When this WOULD be correct

    In a scenario where content must be personalized per user (e.g., a dashboard with user-specific data), forwarding all headers ensures each user receives their tailored response from the edge, and the question asks for maximizing personalization rather than cache-hit ratio.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The SAA-C03 exam frequently reuses these exact scenarios with slightly different constraints.

Use versioned file names (e.g., app.abc123.js) and configure a long TTL with appropriate revalidation behavior.Correct answer

Why this is correct

Versioned assets allow long caching with confidence, while new filenames trigger updates when code changes.

Set Cache-Control headers on the origin to always be no-cache so clients revalidate frequently.Wrong answer — click to see why

Why this is wrong here

Setting Cache-Control: no-cache forces clients to revalidate with the origin on every request, which increases origin load and defeats caching, directly contradicting the goal of reducing origin load and improving performance.

★ When this WOULD be the correct answer

In a scenario where content changes frequently and users must always see the latest version (e.g., real-time stock prices or live scores), and origin load is not a concern, using no-cache ensures freshness while still allowing conditional revalidation.

Why candidates choose this

Candidates may think no-cache still allows caching with revalidation, but they overlook that it requires a round-trip to the origin for every request, increasing load and latency.

Disable query string forwarding so all URLs without query strings share one cached object even when content differs.Wrong answer — click to see why

Why this is wrong here

Disabling query string forwarding causes all URLs without query strings to be treated as identical, even if the underlying content differs (e.g., different versions of a file). This can serve stale or incorrect content, reducing cache-hit ratio for static assets that rely on query parameters for versioning.

★ When this WOULD be the correct answer

In a scenario where query strings are used for tracking or analytics (e.g., ?utm_source=facebook) and do not affect the actual content served, disabling query string forwarding would increase cache-hit ratio by treating all variations as the same object, improving cache efficiency without serving incorrect content.

Why candidates choose this

Candidates may think that ignoring query strings always improves cache-hit ratio by consolidating requests, without realizing that query strings are often used for versioning or content differentiation, and ignoring them can cause stale or wrong content to be served.

Forward all headers, including cookies, to maximize personalization in edge cached responses.Wrong answer — click to see why

Why this is wrong here

Forwarding all headers, including cookies, reduces cache-hit ratio because each unique set of headers creates a separate cached object, defeating the purpose of caching static assets that don't vary by user.

★ When this WOULD be the correct answer

In a scenario where content must be personalized per user (e.g., a dashboard with user-specific data), forwarding all headers ensures each user receives their tailored response from the edge, and the question asks for maximizing personalization rather than cache-hit ratio.

Why candidates choose this

Candidates may think that forwarding all headers ensures the edge delivers the most accurate content, not realizing that for static assets, this dramatically reduces cache efficiency.

Analysis generated from the official SAA-C03blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

About these practice questions

Courseiva writes every SAA-C03 question from scratch — 302 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

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.