Skip to content

Commit e1d0076

Browse files
committed
vault backup: 2025-04-12 23:43:56
Affected files: .obsidian/workspace.json Kuwait University Masters Prep
1 parent 24f5e3d commit e1d0076

1 file changed

Lines changed: 133 additions & 1 deletion

File tree

Lines changed: 133 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,133 @@
1-
(HTTP, Electronic Mail, DNS)
1+
Principles of network applications and its protocols (HTTP, Electronic Mail, DNS).
2+
3+
Super vague description, will provide general knowledge about the above.
4+
5+
6+
7+
##🌐 What is the internet?
8+
9+
Network applications let devices **communicate over the internet**. These applications (like web browsers, email clients, or video apps) rely on **application-layer protocols** that define how data is sent and received.
10+
11+
Unlike lower layers (like TCP/IP or Ethernet, which will be discussed in the next notes), the application layer is what users interact with directly.
12+
13+
---
14+
15+
## 💬 Application Architecture
16+
17+
Two main types of communication structures:
18+
19+
- **Client-Server Model**
20+
21+
- One central **server** responds to many **clients**.
22+
23+
- E.g., web servers and browsers.
24+
25+
- **Peer-to-Peer (P2P) Model**
26+
27+
- Devices (peers) both request and provide services.
28+
29+
- E.g., file sharing like BitTorrent.
30+
31+
32+
> [!Important] Fun fact..
33+
> [Tailscale](https://tailscale.com/) allows you to establish a P2P connection by using their service as the server for the initial "handshake" only.
34+
> I've used it recently as a VPN
35+
36+
37+
38+
## 📡 Key Application Protocols
39+
40+
### 1. **HTTP (Hypertext Transfer Protocol)**
41+
42+
Used by **web browsers and servers** to transfer web pages and data.
43+
44+
- **Client-Server** based (browser is the client).
45+
46+
- Runs over **TCP** (usually port 80 or 443 for HTTPS).
47+
48+
- **Stateless**: Server doesn't remember past requests.
49+
50+
- Methods:
51+
52+
- `GET`: Request a resource (e.g., a web page).
53+
54+
- `POST`: Send data (e.g., form submission).
55+
56+
- `PUT`, `DELETE`, etc. for RESTful APIs.
57+
58+
59+
**Example**:
60+
61+
```http
62+
GET /index.html HTTP/1.1
63+
Host: example.com
64+
```
65+
66+
---
67+
68+
### 2. **Electronic Mail (Email Protocols)**
69+
70+
Email is delivered through multiple protocols:
71+
72+
- **SMTP (Simple Mail Transfer Protocol)**
73+
74+
- Sends emails from client → server or server → server.
75+
76+
- Uses TCP (port 25, 587).
77+
78+
- **POP3 (Post Office Protocol v3)** and **IMAP (Internet Message Access Protocol)**
79+
80+
- Used by clients to fetch and manage emails from servers.
81+
82+
- POP3: Downloads and deletes from server.
83+
84+
- IMAP: Keeps email on server, supports folders and syncing.
85+
86+
87+
**Email flow**:
88+
89+
1. User writes email → Client sends it using SMTP.
90+
91+
2. Server stores email.
92+
93+
3. Recipient fetches email using POP3 or IMAP.
94+
95+
96+
---
97+
98+
### 3. **DNS (Domain Name System)**
99+
100+
Translates **domain names** (like `google.com`) into **IP addresses** (like `142.250.64.78`).
101+
102+
- Works like a **phonebook** for the internet.
103+
104+
- Uses **UDP** (port 53).
105+
106+
- Hierarchical system with:
107+
108+
- **Root servers**
109+
110+
- **Top-level domain (TLD) servers** (.com, .org, etc.)
111+
112+
- **Authoritative name servers** (e.g., Google’s DNS)
113+
114+
115+
**Example**: Typing `www.example.com` triggers a DNS lookup: → gets IP address → browser connects to that IP using HTTP.
116+
117+
---
118+
119+
## 🔑 Summary
120+
121+
|Protocol|Purpose|Transport|Port|
122+
|---|---|---|---|
123+
|HTTP|Web pages & APIs|TCP|80/443|
124+
|SMTP|Sending emails|TCP|25/587|
125+
|POP3|Receiving (download)|TCP|110|
126+
|IMAP|Receiving (sync)|TCP|143|
127+
|DNS|Resolving domain names|UDP|53|
128+
129+
---
130+
131+
> [!Note] These protocols are just the **tip of the iceberg** — the internet uses dozens more, but HTTP, Email, and DNS are the backbone of most everyday activity.
132+
133+
Let me know if you want this in a PDF or if you'd like diagrams added!

0 commit comments

Comments
 (0)