Bird
Raised Fist0
Flaskframework~5 mins

Response headers in Flask - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are response headers in Flask?
Response headers are pieces of information sent by the server to the client along with the response. They describe details like content type, caching, and cookies.
Click to reveal answer
beginner
How do you set a custom response header in Flask?
You can set a custom response header by modifying the response object. For example:
response = make_response('Hello')
response.headers['X-Custom-Header'] = 'Value'
Click to reveal answer
beginner
What Flask function helps create a response object to modify headers?
The make_response() function creates a response object that you can modify, including adding or changing headers before sending it back.
Click to reveal answer
intermediate
Why are response headers important in web applications?
Response headers control how browsers handle the response, like caching, content type, security policies, and cookies. They help improve user experience and security.
Click to reveal answer
intermediate
How can you add multiple headers to a Flask response?
You can add multiple headers by setting them one by one on the response.headers dictionary or by passing a dictionary of headers when creating the response.
Click to reveal answer
Which Flask function is used to create a response object for setting headers?
Asend_file()
Brender_template()
Crequest.get()
Dmake_response()
How do you add a custom header 'X-Test' with value '123' to a Flask response?
Aresponse.headers['X-Test'] = '123'
Brequest.headers['X-Test'] = '123'
Capp.headers['X-Test'] = '123'
Dflask.headers['X-Test'] = '123'
What does the 'Content-Type' response header specify?
AThe server's IP address
BThe type of data sent in the response
CThe size of the response
DThe client's browser type
Which of these is NOT a typical use of response headers?
AChanging the URL of the request
BControlling caching behavior
CSetting cookies
DSpecifying security policies
If you want to add multiple headers at once, which approach is correct?
ASet headers in the HTML body
BModify the request headers
CPass a dictionary of headers when creating the response
DUse app.config to set headers
Explain how to add a custom response header in Flask and why you might want to do that.
Think about how you create and modify the response object.
You got /4 concepts.
    Describe the role of response headers in web communication and give two examples of common headers.
    Consider what information the server sends to the browser besides the page content.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the purpose of response headers in a Flask web application?
      easy
      A. To send extra information from the server to the browser
      B. To store user data on the server
      C. To write data into the database
      D. To create HTML content dynamically

      Solution

      1. Step 1: Understand what response headers do

        Response headers carry extra information about the response, like content type or caching rules.
      2. Step 2: Identify their role in Flask

        In Flask, response headers are sent from the server to the browser to control how the browser handles the response.
      3. Final Answer:

        To send extra information from the server to the browser -> Option A
      4. Quick Check:

        Response headers = extra info sent to browser [OK]
      Hint: Response headers send info from server to browser [OK]
      Common Mistakes:
      • Confusing headers with server-side data storage
      • Thinking headers create HTML content
      • Mixing headers with database operations
      2. Which of the following is the correct way to add a custom header X-Custom-Header with value Test to a Flask response?
      easy
      A. response.set_header('X-Custom-Header', 'Test')
      B. response.add_header('X-Custom-Header', 'Test')
      C. response.header('X-Custom-Header', 'Test')
      D. response.headers['X-Custom-Header'] = 'Test'

      Solution

      1. Step 1: Recall Flask response header syntax

        In Flask, headers are set by assigning values to keys in the response.headers dictionary.
      2. Step 2: Match the correct syntax

        Only response.headers['X-Custom-Header'] = 'Test' uses the correct dictionary assignment syntax.
      3. Final Answer:

        response.headers['X-Custom-Header'] = 'Test' -> Option D
      4. Quick Check:

        Use dictionary assignment for headers [OK]
      Hint: Set headers by assigning to response.headers dict [OK]
      Common Mistakes:
      • Using non-existent methods like add_header or set_header
      • Calling response.header() which does not exist
      • Trying to set headers as function calls
      3. Given this Flask code snippet, what will be the value of the Content-Type header in the response?
      from flask import Flask, make_response
      app = Flask(__name__)
      
      @app.route('/')
      def index():
          response = make_response('Hello')
          response.headers['Content-Type'] = 'application/json'
          return response
      medium
      A. text/html
      B. application/json
      C. text/plain
      D. application/xml

      Solution

      1. Step 1: Check the header assignment in the code

        The code sets response.headers['Content-Type'] = 'application/json', which overrides the default.
      2. Step 2: Understand the effect on response

        This means the response will have the Content-Type header set to application/json.
      3. Final Answer:

        application/json -> Option B
      4. Quick Check:

        Content-Type header = application/json [OK]
      Hint: Headers set in code override defaults [OK]
      Common Mistakes:
      • Assuming default Content-Type without checking header override
      • Confusing Content-Type with response body content
      • Ignoring header assignment line
      4. What is wrong with this Flask code that tries to add a header?
      from flask import Flask
      app = Flask(__name__)
      
      @app.route('/')
      def home():
          response = 'Hello'
          response.headers['X-Test'] = 'Value'
          return response
      medium
      A. You cannot add headers to a string response directly
      B. The header key must be lowercase
      C. The header value must be an integer
      D. Flask does not support custom headers

      Solution

      1. Step 1: Identify the response type

        The response is a plain string, not a response object.
      2. Step 2: Understand header assignment requirements

        Headers can only be set on response objects, not on strings.
      3. Final Answer:

        You cannot add headers to a string response directly -> Option A
      4. Quick Check:

        Headers require response object, not string [OK]
      Hint: Headers need response object, not plain string [OK]
      Common Mistakes:
      • Trying to set headers on string instead of response
      • Thinking header keys must be lowercase
      • Believing Flask disallows custom headers
      5. You want to add a header Cache-Control with value no-store to all responses in your Flask app. Which is the best way to do this?
      hard
      A. Set Cache-Control in the HTML meta tags
      B. Add response.headers['Cache-Control'] = 'no-store' inside every route function
      C. Use a @app.after_request function to add the header to all responses
      D. Modify the Flask source code to add the header globally

      Solution

      1. Step 1: Understand the goal

        You want to add the header to all responses automatically, not manually in each route.
      2. Step 2: Identify Flask feature for global response modification

        The @app.after_request decorator lets you modify every response before sending it.
      3. Step 3: Evaluate options

        The @app.after_request decorator adds the header to every response automatically, which is efficient and clean.
      4. Final Answer:

        Use a @app.after_request function to add the header to all responses -> Option C
      5. Quick Check:

        Use after_request to set headers globally [OK]
      Hint: Use @app.after_request to add headers globally [OK]
      Common Mistakes:
      • Adding header manually in every route (Option B)
      • Trying to set headers in HTML meta tags (Option C)
      • Editing Flask source code (Option D)
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard