Bird
Raised Fist0
Rest APIprogramming~5 mins

Client-server architecture in Rest API

Choose your learning style10 modes available
Introduction

Client-server architecture helps computers talk to each other. One computer (server) gives information, and another (client) asks for it.

When you want a website to show data from a database.
When a mobile app needs to get information from the internet.
When multiple users share the same service, like email or chat.
When you want to separate the part that shows data from the part that stores data.
Syntax
Rest API
Client sends a request to Server
Server processes the request
Server sends back a response to Client
The client is usually a web browser or app.
The server waits and listens for requests from clients.
Examples
Client asks the server for a list of users.
Rest API
GET /users HTTP/1.1
Host: example.com
Client sends login details to the server.
Rest API
POST /login HTTP/1.1
Host: example.com
Content-Type: application/json

{"username":"user1", "password":"pass"}
Sample Program

This program creates a simple server using Flask. It has two parts:

  • One part sends a list of users when the client asks.
  • Another part greets the user by name when the client sends a name.

You can test it by sending requests from a client like a browser or Postman.

Rest API
from flask import Flask, jsonify, request

app = Flask(__name__)

users = [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]

@app.route('/users', methods=['GET'])
def get_users():
    return jsonify(users)

@app.route('/greet', methods=['POST'])
def greet_user():
    data = request.get_json()
    name = data.get('name', 'Guest')
    return jsonify({"message": f"Hello, {name}!"})

if __name__ == '__main__':
    app.run(debug=True)
OutputSuccess
Important Notes

The client and server communicate using requests and responses.

Servers can handle many clients at the same time.

Client-server helps keep things organized and secure.

Summary

Client-server architecture splits work between two computers.

Clients ask for data; servers send data back.

This setup is common in websites and apps.

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