Bird
Raised Fist0
Rest APIprogramming~10 mins

Client-server architecture in Rest API - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the HTTP method used to retrieve data from a server.

Rest API
response = requests.[1]('https://api.example.com/data')
Drag options to blanks, or click blank then click option'
Aput
Bdelete
Cget
Dpost
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'post' instead of 'get' when only retrieving data.
Confusing 'put' with 'get' method.
2fill in blank
medium

Complete the code to send JSON data to the server using the correct HTTP method.

Rest API
response = requests.[1]('https://api.example.com/data', json=payload)
Drag options to blanks, or click blank then click option'
Aget
Bpost
Cdelete
Dpatch
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'get' when trying to send data.
Confusing 'delete' with 'post' method.
3fill in blank
hard

Fix the error in the code to correctly check if the server responded with a success status code.

Rest API
if response.status_code [1] 200:
    print('Success!')
Drag options to blanks, or click blank then click option'
A==
B>=
C<
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' which checks for inequality.
Using '>' or '<' which may not be precise for success check.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps endpoints to their status codes only if the status code is 200.

Rest API
status_map = {endpoint: response.[1] for endpoint, response in responses.items() if response.status_code [2] 200}
Drag options to blanks, or click blank then click option'
Astatus_code
B==
C!=
Dcontent
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'content' instead of 'status_code' for the first blank.
Using '!=' instead of '==' in the condition.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps each endpoint's uppercase name to its JSON data only if the response status code is greater than 199.

Rest API
data_map = { [1]: [2] for endpoint, response in responses.items() if response.status_code [3] 199 }
Drag options to blanks, or click blank then click option'
Aendpoint.upper()
Bresponse.json()
C>
Dendpoint.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'endpoint.lower()' instead of uppercase for the key.
Using 'response.status_code' instead of 'response.json()' for the value.
Using '<' or '==' instead of '>' for the status code check.

Practice

(1/5)
1. In a client-server architecture, what is the main role of the client?
easy
A. To request data or services from the server
B. To store and manage data permanently
C. To control the network hardware
D. To provide power to the server

Solution

  1. Step 1: Understand client role

    The client is the part of the system that asks for information or services.
  2. Step 2: Differentiate from server role

    The server responds to client requests by sending data or services.
  3. Final Answer:

    To request data or services from the server -> Option A
  4. Quick Check:

    Client requests, server responds [OK]
Hint: Clients always ask; servers always answer [OK]
Common Mistakes:
  • Confusing client with server
  • Thinking client stores data permanently
  • Assuming client controls network hardware
2. Which of the following is the correct way a client sends a request to a server in REST API?
easy
A. Using a SQL SELECT statement
B. Using an HTTP GET method
C. Using a FTP upload command
D. Using a local file read operation

Solution

  1. Step 1: Identify REST API request methods

    REST APIs use HTTP methods like GET, POST, PUT, DELETE to communicate.
  2. Step 2: Match method to client request

    GET is used by clients to request data from servers.
  3. Final Answer:

    Using an HTTP GET method -> Option B
  4. Quick Check:

    REST client requests use HTTP methods [OK]
Hint: REST clients use HTTP verbs like GET to ask [OK]
Common Mistakes:
  • Confusing SQL with REST API
  • Using FTP commands for REST requests
  • Thinking local file reads send requests
3. What will the server respond with if a client sends a GET request to /users/123 and the user exists?
medium
A. A JSON object with user details
B. An error message saying 'User not found'
C. A redirect to the homepage
D. A blank page with no content

Solution

  1. Step 1: Understand GET request to resource

    A GET request to /users/123 asks for user data with ID 123.
  2. Step 2: Server response when user exists

    If user exists, server sends back user details, usually as JSON.
  3. Final Answer:

    A JSON object with user details -> Option A
  4. Quick Check:

    GET existing resource returns data [OK]
Hint: GET returns data if resource exists, else error [OK]
Common Mistakes:
  • Assuming error if user exists
  • Thinking GET causes redirect
  • Expecting blank page on success
4. A client sends a POST request to create a new user, but the server responds with a 404 error. What is the most likely cause?
medium
A. The client sent too much data
B. The client used the wrong HTTP method
C. The server successfully created the user
D. The server URL endpoint is incorrect or missing

Solution

  1. Step 1: Understand 404 error meaning

    404 means the requested URL or endpoint was not found on the server.
  2. Step 2: Link error to cause

    If POST returns 404, likely the client sent request to wrong or missing URL.
  3. Final Answer:

    The server URL endpoint is incorrect or missing -> Option D
  4. Quick Check:

    404 means URL not found [OK]
Hint: 404 means wrong or missing URL endpoint [OK]
Common Mistakes:
  • Confusing 404 with method error
  • Assuming success on 404
  • Thinking data size causes 404
5. You want to design a REST API where clients can update user info only if they provide a valid token. Which client-server architecture concept helps enforce this?
hard
A. Client directly modifying server database
B. Client caching data locally
C. Authentication and authorization on the server
D. Server sending data without checks

Solution

  1. Step 1: Identify security need

    Allowing updates only with valid token means controlling access.
  2. Step 2: Apply client-server security concept

    Authentication verifies identity; authorization controls permissions on server side.
  3. Final Answer:

    Authentication and authorization on the server -> Option C
  4. Quick Check:

    Access control = Authentication + Authorization [OK]
Hint: Use server-side auth to control client access [OK]
Common Mistakes:
  • Thinking client caches control access
  • Assuming server sends data without checks
  • Believing client can modify database directly
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