From c7fe5d915f3f8e6aae5cff17880be55d5503234a Mon Sep 17 00:00:00 2001
From: Ilenia <26656284+ilenia-magoni@users.noreply.github.com>
Date: Mon, 20 Oct 2025 01:46:41 +0200
Subject: [PATCH] feat(curriculum): add Understanding the HTTP request-response
model Theory block (#62453)
Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
---
client/i18n/locales/english/intro.json | 6 +
.../index.md | 9 +
.../68dd96cf8084504ca0322e98.md | 195 ++++++++++++++++
.../68dd97fbd18ede5ae983e342.md | 170 ++++++++++++++
.../68dd97fbd18ede5ae983e343.md | 220 ++++++++++++++++++
...nding-the-http-request-response-model.json | 22 ++
.../superblocks/full-stack-developer.json | 2 +-
7 files changed, 623 insertions(+), 1 deletion(-)
create mode 100644 client/src/pages/learn/full-stack-developer/lecture-understanding-the-http-request-response-model/index.md
create mode 100644 curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd96cf8084504ca0322e98.md
create mode 100644 curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e342.md
create mode 100644 curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e343.md
create mode 100644 curriculum/structure/blocks/lecture-understanding-the-http-request-response-model.json
diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json
index 27c40f56b5d..4cb260205ee 100644
--- a/client/i18n/locales/english/intro.json
+++ b/client/i18n/locales/english/intro.json
@@ -4966,6 +4966,12 @@
"Review relational databases concepts to prepare for the upcoming quiz."
]
},
+ "lecture-understanding-the-http-request-response-model": {
+ "title": "Understanding the HTTP Request-Response Model",
+ "intro": [
+ "Learn the fundamentals of how web communication works through the HTTP request-response model, explore different types of web assets and responses, and understand how forms handle data submission using various HTTP methods."
+ ]
+ },
"exam-certified-full-stack-developer": {
"title": "Certified Full Stack Developer Exam",
"intro": ["Pass this exam to become a Certified Full Stack Developer."]
diff --git a/client/src/pages/learn/full-stack-developer/lecture-understanding-the-http-request-response-model/index.md b/client/src/pages/learn/full-stack-developer/lecture-understanding-the-http-request-response-model/index.md
new file mode 100644
index 00000000000..36592f7c61e
--- /dev/null
+++ b/client/src/pages/learn/full-stack-developer/lecture-understanding-the-http-request-response-model/index.md
@@ -0,0 +1,9 @@
+---
+title: Introduction to the Understanding the HTTP request-response model
+block: lecture-understanding-the-http-request-response-model
+superBlock: full-stack-developer
+---
+
+## Introduction to the Understanding the HTTP request-response model
+
+This page is for the Understanding the HTTP request-response model
diff --git a/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd96cf8084504ca0322e98.md b/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd96cf8084504ca0322e98.md
new file mode 100644
index 00000000000..0e6b7ffeb8b
--- /dev/null
+++ b/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd96cf8084504ca0322e98.md
@@ -0,0 +1,195 @@
+---
+id: 68dd96cf8084504ca0322e98
+title: What Is the HTTP Request-Response Model?
+challengeType: 19
+dashedName: what-is-the-http-request-response-model
+---
+
+# --description--
+
+The HTTP request-response model is the fundamental communication pattern that powers the World Wide Web (WWW). It has many components that make it efficient, so we can all access materials from the web.
+
+Let's look at what the HTTP request-response model is, the components that make it up, and how those components work together to bring efficiency into what powers the web.
+
+The HTTP request-response model is a communication pattern in web interactions in which a client, usually a web browser, sends an **HTTP request** to a server, and the server processes the request and sends back an **HTTP response**.
+
+Here are the components that make up the HTTP request-response model:
+
+* **Client**: A browser, mobile app, or any other software that sends HTTP requests to the server and interprets the HTTP responses it receives back.
+
+* **Request**: The message sent by the client to the server. It includes the method, URL, headers, and an optional body.
+
+* **HTTP method**: The action to perform — `GET` for retrieving data, `POST` for sending data, `PATCH` and `PUT` for modifying data, and `DELETE` for removing data.
+
+* **URL (Uniform Resource Locator)**: The resource being requested from the server.
+
+* **Headers**: The metadata sent with the request or response. For example, `Content-Type` and `Authorization`.
+
+* **Body**: The data sent with the `POST`, `PUT`, `PATCH`, `DELETE` requests, often in JSON or form data format.
+
+* **Server**: The backend system that processes the request and generates a response. It can be written in any programming language that supports server-side programming.
+
+* **Response**: The message sent back by the server. It contains a status code, headers, and an optional body.
+
+* **Status Code or Response Code**: A numeric code indicating success, errors, or redirects.
+
+* **Response Body**: The actual data sent back, typically in HTML, JSON, or XML format.
+
+So how do all these components work together in the HTTP request-response cycle?
+
+1. **The Client Initiates a Request**
+
+ * A browser, mobile app, or API client sends an HTTP request meant to reach the server.
+
+ * The request includes a method like `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, URL, headers, and sometimes a body.
+
+2. **The Request is Sent to the Server**
+
+ * The request travels over the internet to the server, a backend system written with a programming language.
+
+ * The server receives the request and extracts relevant information from it.
+
+3. **The Server Processes the Request**
+
+ * The server checks the request method and URL.
+
+ * It may need to validate authentication (via headers like authorization).
+
+ * If needed, it interacts with a database to fetch or modify the data.
+
+4. **The Server Prepares a Response**
+
+ * The server generates a response with a status code like 200, 404, 500, and so on.
+
+ * The response includes headers, for example, `Content-Type: application/json`.
+
+ * If applicable, a response body in either JSON, HTML, or XML is added.
+
+5. **The Response is Sent to the Client**
+
+ * The server sends the response back over the internet.
+
+ * The client receives the response and processes the data.
+
+6. **The Client Handles the Response**
+
+ * If the response is successful (status code 200), the client displays the data, for example, renders the data on a webpage.
+
+ * If an error occurs (`404 Not Found`, `500 Internal Server Error`, and so on), the client may show an error message.
+
+This cycle repeats for every new request the client makes.
+
+Here's a diagram that simplifies this process:
+
+
+
+# --questions--
+
+## --text--
+
+What is the role of the server in a request-response model?
+
+## --answers--
+
+It processes requests and generates responses.
+
+---
+
+It only stores data but does not process requests.
+
+### --feedback--
+
+Review the middle part of the lesson.
+
+---
+
+It only forwards requests to another system.
+
+### --feedback--
+
+Review the middle part of the lesson.
+
+---
+
+It must be written in a specific programming language.
+
+### --feedback--
+
+Review the middle part of the lesson.
+
+## --video-solution--
+
+1
+
+## --text--
+
+What does the HTTP method specify in an HTTP request?
+
+## --answers--
+
+The data format to be sent
+
+### --feedback--
+
+It defines what kind of operation the request performs on the resource.
+
+---
+
+The action to perform, such as retrieving, sending, modifying, or deleting data
+
+---
+
+The request headers
+
+### --feedback--
+
+It defines what kind of operation the request performs on the resource.
+
+---
+
+The server location
+
+### --feedback--
+
+It defines what kind of operation the request performs on the resource.
+
+## --video-solution--
+
+2
+
+## --text--
+
+How does the client handle an HTTP response?
+
+## --answers--
+
+It always displays the data, regardless of the response status.
+
+### --feedback--
+
+The client must handle both successful and error responses appropriately.
+
+---
+
+It only processes responses with a 200 status code.
+
+### --feedback--
+
+The client must handle both successful and error responses appropriately.
+
+---
+
+It ignores error responses and retries automatically.
+
+### --feedback--
+
+The client must handle both successful and error responses appropriately.
+
+---
+
+It handles successful responses by displaying data and errors by showing messages.
+
+## --video-solution--
+
+4
+
diff --git a/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e342.md b/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e342.md
new file mode 100644
index 00000000000..26a714a8a34
--- /dev/null
+++ b/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e342.md
@@ -0,0 +1,170 @@
+---
+id: 68dd97fbd18ede5ae983e342
+title: What Are the Different Kinds of Assets That Are Returned in an HTTP Response?
+challengeType: 19
+dashedName: what-are-the-different-kinds-of-assets-that-are-returned-in-an-http-response
+---
+
+# --description--
+
+In the last lesson, you learned that the server processes an HTTP request and sends back a response. That response includes various assets you see on the web.
+
+The assets returned by an HTTP response include text-based assets, media assets, fonts, and so on. Each of these assets comes with a **Content-Type** header, which tells the browser how to process and display the asset correctly.
+
+Text-based assets have always been a fundamental part of the web. In fact, the web started as pure text. These days, text-based assets include the following:
+
+* **HTML (Hypertext Markup Language)**: The basic structure of any webpage. Without HTML, a webpage can't exist.
+
+* **CSS (Cascading Stylesheet)**: The asset that controls how a webpage looks. With CSS, you apply styles like colors, fonts, and layout to the HTML.
+
+* **JavaScript**: JavaScript adds interactivity and dynamic content to HTML and CSS.
+
+* **JSON and XML**: These two formats let you transfer structured data between servers and browsers.
+
+Media assets include images, audios, and videos. They bring the web to life with visuals and sound.
+
+Many websites rely on images to communicate visual information. Images come in different formats like `JPG`, `JPEG`, `PNG`, `WEBP`, and `GIF`.
+
+Websites like YouTube and Vimeo serve video content with formats like `MP4`, `MOV`, `AVI`, `WebM`, and more.
+
+Audio is a key part of many platforms as it lets users stream music, podcasts, and other sound content. Common audio formats include `MP3`, `AAC`, Ogg, and `WAV`. Platforms like Spotify and YouTube Music rely on these formats to deliver high-quality audio experiences.
+
+Other assets that are returned in an HTTP response are documents like `PDF`, `DOCX`, and `PAGES`, compressed archives like `ZIP` and `RAR`, font files like `WOFF`, `WOFF2`, and `TTF`, and executables like `EXE`.
+
+Here's a table of these common assets and their content types:
+
+| Asset Type | Content-Type Header |
+| --- | --- |
+| HTML | text/html |
+| CSS | text/css |
+| JavaScript | application/javascript |
+| JPEG | image/jpeg |
+| PNG | image/png |
+| GIF | image/gif |
+| SVG | image/svg+xml |
+| WebP | image/webp |
+| WOFF | font/woff |
+| WOFF2 | font/woff2 |
+| TTF | font/ttf |
+| OTF | font/otf |
+| MP4 | video/mp4 |
+| WebM | video/webm |
+| Ogg (Video) | video/ogg |
+| MP3 | audio/mpeg |
+| AAC | audio/aac |
+| WAV | audio/wav |
+| Ogg (Audio) | audio/ogg |
+| JSON | application/json |
+| XML | application/xml |
+| PDF | application/pdf |
+| ZIP | application/zip |
+
+# --questions--
+
+## --text--
+
+Which of the following is a text-based asset used for structuring a webpage?
+
+## --answers--
+
+JSON
+
+### --feedback--
+
+This asset defines the fundamental structure of a webpage.
+
+---
+
+CSS
+
+### --feedback--
+
+This asset defines the fundamental structure of a webpage.
+
+---
+
+JavaScript
+
+### --feedback--
+
+This asset defines the fundamental structure of a webpage.
+
+---
+
+HTML
+
+## --video-solution--
+
+4
+
+## --text--
+
+What is the correct `Content-Type` header for serving a PDF file?
+
+## --answers--
+
+application/xml
+
+### --feedback--
+
+Look out for the MIME type for PDF files that maintain formatting across devices.
+
+---
+
+application/json
+
+### --feedback--
+
+Look out for the MIME type for PDF files that maintain formatting across devices.
+
+---
+
+application/pdf
+
+---
+
+text/html
+
+### --feedback--
+
+Look out for the MIME type for PDF files that maintain formatting across devices.
+
+## --video-solution--
+
+3
+
+## --text--
+
+Which of the following is a common audio format used for streaming music and podcasts?
+
+## --answers--
+
+PNG
+
+### --feedback--
+
+Think about the format widely used for compressing and streaming sound files.
+
+---
+
+MP3
+
+---
+
+SVG
+
+### --feedback--
+
+Think about the format widely used for compressing and streaming sound files.
+
+---
+
+GIF
+
+### --feedback--
+
+Think about the format widely used for compressing and streaming sound files.
+
+## --video-solution--
+
+2
diff --git a/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e343.md b/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e343.md
new file mode 100644
index 00000000000..c901c025e9d
--- /dev/null
+++ b/curriculum/challenges/english/blocks/lecture-understanding-the-http-request-response-model/68dd97fbd18ede5ae983e343.md
@@ -0,0 +1,220 @@
+---
+id: 68dd97fbd18ede5ae983e343
+title: What Happens When a Form Is Submitted and How Do the Different Form Submissions Work?
+challengeType: 19
+dashedName: what-happens-when-a-form-is-submitted-and-how-do-the-different-form-submissions-work
+---
+
+# --description--
+
+Websites and apps need to collect data and process it, or generate something the user needs such as search results. So, just like text, forms are also a fundamental part of the web.
+
+With forms, users can register and log in to a site, send messages, and search for items. For instance, you get access to the Google search results page by typing your query in the most popular form on the web, the Google search input.
+
+Let's look at what makes up a form, like input fields, the `action` attribute, form methods, and most importantly, what happens when you submit a form.
+
+Forms are embedded on a web page with the `form` element, but to get inputs to show up, you also need the `input` elements, based on your need. Some of those input elements are text, email, password, selection, file, hidden inputs, and more.
+
+To use these input fields, you have to wrap them with the `form` element. Each of the inputs needs a `name` attribute so the server knows what data corresponds to each field.
+
+Here is an example:
+
+```html
+