Bird
Raised Fist0
Rest APIprogramming~30 mins

Client-server architecture in Rest API - Mini Project: Build & Apply

Choose your learning style10 modes available
Client-server architecture
📖 Scenario: You are building a simple client-server system where the server holds data about books and the client requests this data.This is like a library where the librarian (server) has a list of books, and the visitor (client) asks for information about the books.
🎯 Goal: Create a basic server that stores book data and a client that requests and displays this data.
📋 What You'll Learn
Create a server with a dictionary of books and their authors
Add a configuration variable for the API endpoint
Write a function to get book data from the server
Print the book data received by the client
💡 Why This Matters
🌍 Real World
Client-server architecture is the foundation of many web and mobile applications where clients request data and servers respond.
💼 Career
Understanding client-server basics is essential for roles like backend developer, frontend developer, and full-stack engineer.
Progress0 / 4 steps
1
DATA SETUP: Create the server data
Create a dictionary called books with these exact entries: '1984': 'George Orwell', 'To Kill a Mockingbird': 'Harper Lee', 'The Great Gatsby': 'F. Scott Fitzgerald'
Rest API
Hint

Use curly braces to create a dictionary with the exact book titles as keys and authors as values.

2
CONFIGURATION: Define the API endpoint
Create a variable called api_endpoint and set it to the string '/get_books'
Rest API
Hint

Set api_endpoint exactly to the string '/get_books'.

3
CORE LOGIC: Write a function to get books from the server
Define a function called get_books that takes no parameters and returns the books dictionary
Rest API
Hint

Write a function named get_books that returns the books dictionary.

4
OUTPUT: Print the books data from the client
Call the get_books() function and print the returned dictionary
Rest API
Hint

Use print(get_books()) to show the books dictionary.

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