☕ āˇැāļŗිāļą්āˇීāļ¸: Enter āļāļ āļāļļāļ´ු āļāļ්āļ´āļģāļēේ āļ¸ොāļāļ¯ āˇෙāļą්āļąේ?
āļāļēා phone āļāļෙāļą් daraz.lk āļිāļēāļŊා type āļāļģāļŊා Enter āļāļļāļąāˇා. āļāļ්āļ´āļģāļēāļāļ§āļ් āļ
āļŠු āļාāļŊෙāļිāļą් page āļāļ load āˇෙāļąāˇා. āļāļ āˇāļģිāļ¸ āˇාāļ¸ාāļą්āļē āļ¯ෙāļēāļ් āˇāļේ āļ´ේāļąāˇා āļąේāļ¯? đ¤
āļāļ් āļāļ්āļāļ§āļ¸ āļ āļ¸ිāļŊි āļāļ්āļ´āļģ āļීāļ´āļē āļāļු⎠ේ āļŊොāļු āļāļ¸āļąāļ් āļēāļąāˇා. āļāļēාāļේ request āļāļ (server āļāļāļිāļą් āļēāļ¸āļ් āļāļŊ්āļŊāļą āļ´āļĢිāˇිāļŠāļē) āļŊෝāļāļēේ āļොāˇේ āˇāļģි āļිāļēෙāļą server āļāļāļ් āˇොāļēාāļෙāļą, āļāļģāļ්āˇිāļ āļ´ාāļģāļ් āˇāļ¯ාāļෙāļą, data āļෙāļąāļ් āļāļ´āˇු āļāļēාāļේ screen āļāļāļ§ āļāļąāˇා. đ
āļ¸ේāļ āˇිāļāļą්āļą āļො⎠āļš āļāļŗāļą් āļාāļŊ්āļŊේ āļēා⎠ුāˇෙāļුāļ§ āļŊිāļēුāļ¸āļ් āļēāˇāļąāˇා āˇāļේ:
- đ āļ¸ුāļŊිāļą්āļ¸ āļŊිāļ´ිāļąāļē āˇොāļēාāļāļą්āļą āļāļąේ (DNS)
- đ āļāļ§ āļ´āˇ්āˇේ "āļ¸āļ¸ āļŊිāļēුāļ¸āļ් āļāˇāļąāˇා, āļŊැāļļුāļĢොāļ් āļිāļēāļą්āļą" āļිāļēāļŊා confirm āļāļģāļāļą්āļąāˇා (TCP)
- đ āļāˇුāļģුāļ් āļිāļēāˇāļą්āļą āļļැāļģි āˇෙāļą්āļą āļŊිāļēුāļ¸ seal āļāļģāļąāˇා (TLS)
- ✉️ āļŊිāļēුāļ¸ āļāļු⎠ේ āļ¸ොāļąāˇāļ¯ āļāļąේ āļිāļēāļŊා āļŊිāļēāļąāˇා (HTTP)
- đ§đŧ āļēා⎠ුāˇා āļŊිāļēුāļ¸ āļිāļēāˇāļŊා āˇැāļŠේ āļāļģāļąāˇා (App)
- đ️ āļāļāļ§ āļ āˇāˇ්āļē āˇිāˇ්āļāļģ āļŊිāļ´ිāļොāļąුāˇෙāļą් āˇොāļēāļąāˇා (Database)
āļ¸ේ blog āļāļෙāļą් āļ āļ´ි āļ¸ේ āˇැāļ¸ āļ´ිāļēāˇāļģāļ්āļ¸ zero āļāļŗāļą් architect level āļāļ āˇෙāļąāļāļ¸් āļāļා āļāļģāļ¸ු. Interview āļāļāļāļ¯ී āļ āˇāļą āļĸāļąāļ´්āļģිāļēāļ¸ āļ´්āļģāˇ්āļąāļēāļ් āˇāļą "What happens when you type a URL in the browser?" āļāļāļ§āļ් āļ¸ේāļෙāļą් āˇොāļŗ āļāļ්āļāļģāļēāļ් āļŊැāļļෙāļēි. đĄ
đē️ āļ¸ු⎠ු āļāļ¸āļąāļ¸ āļāļ āļļැāļŊ්āļ¸āļිāļą්
āˇිāˇ්āļāļģ āˇāļŊāļ§ āļēāļą්āļą āļāļŊිāļą්, āļ¸ු⎠ු āļāļ¸āļąāļ¸ āļ´ිāļēāˇāļģ 6āļිāļą් āļļāļŊāļ¸ු:
- DNS đ —
daraz.lkāļිāļēāļą āļąāļ¸, computer āˇāļŊāļ§ āļේāļģෙāļą IP address āļāļāļāļ§ (āļāļ¯ා:104.18.20.35) āˇāļģāˇāļąāˇා. - TCP 𤠗 āļāļēාāļේ device āļāļāļēි server āļāļāļēි āļ āļāļģ āˇිāˇ්āˇාāˇāļ¯ාāļēāļ connection āļāļāļ් āˇāļ¯āļąāˇා.
- TLS đ — āļ connection āļāļ encrypt āļāļģāļŊා, āļ āļāļģāļ¸ැāļ¯ āļාāļ§āˇāļ් āļිāļēāˇāļą්āļą āļļැāļģි āļāļģāļąāˇා.
- HTTP ✉️ — "āļ¸āļ§ home page āļāļ āļ¯ෙāļą්āļą" āˇāļේ āļāļ්āļ āļāļŊ්āļŊීāļ¸ āļēāˇāļąāˇා.
- App ⚙️ — server āļāļේ āļිāļēෙāļą code āļāļ request āļāļ āļේāļģුāļ¸් āļ āļģāļą් logic run āļāļģāļąāˇා.
- DB đ️ — āļ āˇāˇ්āļē data database āļāļෙāļą් āļ āļģāļą් app āļāļāļ§ āļ¯ෙāļąāˇා.
āļāļ§ āļ´āˇ්āˇේ āļāļ්āļāļģāļē āļāļ´ු āļ´ාāļģෙāļ¸ āļāļ´āˇු āļāļēාāļේ browser āļāļāļ§ āļිāˇිāļą් screen āļāļේ āļ´ෙāļą්āļąāļąāˇා. đ
āļ´ිāļēāˇāļģ | Sri Lankan analogy đąđ° | āļ´්āļģāˇ්āļąāļēāļ§ āļ¯ෙāļą āļāļ්āļāļģāļē |
|---|---|---|
DNS | 1919 āļ§ call āļāļģāļŊා āļāļŠේ āļŊිāļ´ිāļąāļē āļ āˇāļąāˇා | "āļොāˇෙāļ¯?" |
TCP | āļāļŠේāļ§ call āļāļģāļŊා "āļāˇෙāļąāˇāļ¯?" "āļāˇ් āļāˇෙāļąāˇා" | "āˇāļ¸්āļļāļą්āļ° āˇෙāļŊාāļ¯?" |
TLS | āļģāˇāˇ් code āˇāļ āļąāļēāļ් āļāļāļ āˇෙāļąāˇා | "āļāļģāļ්āˇිāļāļ¯?" |
HTTP | "āļොāļ්āļු āļāļāļ් āļāˇāļą්āļą" āļිāļēāļŊා order āļāļ āļ¯ෙāļąāˇා | "āļ¸ොāļāļ්āļ¯ āļāļąේ?" |
App | āļāļŠේ āļļාāˇ් order āļāļ āˇāļ¯āļąāˇා | "āļොāˇොāļ¸āļ¯ āļāļģāļą්āļąේ?" |
DB | āļāļļāļŠාāˇෙāļą් āļļāļŠු āļāļą්āļąāˇා | "data āļොāˇෙāļ¯?" |
đ āļ´ිāļēāˇāļģ 1: DNS — Internet āļāļේ āļ¯ුāļģāļāļŽāļą āļąාāļ¸ාāˇāļŊිāļē
āļ¸ොāļāļ්āļ¯ DNS?
DNS (Domain Name System) āļිāļēāļą්āļąේ website āļąāļ¸් (āļāļ¯ා: google.com) IP address āˇāļŊāļ§ āˇāļģāˇāļą system āļāļ. Computer āˇāļŊāļ§ āļąāļ¸් āļේāļģෙāļą්āļąේ āļąෑ, āļāˇāļ§ āļේāļģෙāļą්āļąේ āļ
ංāļ āˇිāļāļģāļēි. đĸ
āļ āļ´ි phone āļāļේ "āļ āļ¸්āļ¸ා" āļිāļēāļŊා save āļāļģāļŊා āļිāļēෙāļąāˇා, āļ ංāļāļē āļ¸āļāļ āļිāļēාāļāļą්āļąේ āļąෑ. DNS āļāļģāļą්āļąෙāļ් āļāļāļ¸āļēි — Internet āļāļේ contact list āļāļ. đą
āļොāˇොāļ¸āļ¯ DNS āˇැāļŠ āļāļģāļą්āļąේ? ⚙️
āļāļēා www.daraz.lk type āļāˇ
ාāļ¸, browser āļāļ āļ¸ේ āˇිāļ¯ිāļēāļ§ āļ´ිāˇ
ිāļුāļģ āˇොāļēāļąāˇා:
- Browser cache — "āļ¸āļ¸ āļāļŊිāļą් āļ¸ේāļ āˇොāļēāļŊා āļිāļēෙāļąāˇāļ¯?" āļļāļŊāļąāˇා.
- OS cache — Operating System āļāļේ āļ¸āļāļāļē āļļāļŊāļąāˇා.
- Recursive Resolver — āˇාāļ¸ාāļą්āļēāļēෙāļą් āļāļēාāļේ ISP āļāļේ (Dialog, SLT āˇāļේ) āˇෝ
8.8.8.8āˇāļේ public DNS server āļāļāļ්. āļ¸ෙāļēා āļāļ¸āļēි āļāļēා āˇෙāļąුāˇෙāļą් āˇොāļēāļą "āļ āļāļģāļ¸ැāļ¯ිāļēා". - Root Server — "
.lkāļැāļą āļ¯āļą්āļąේ āļ¸ෙāļēා" āļිāļēāļŊා TLD server āļāļāļ§ āļēොāļ¸ු āļāļģāļąāˇා. - TLD Server (
.lk) — "daraz.lkāļැāļą āļ¯āļą්āļąේ āļ¸ෙāļēා" āļිāļēāļŊා Authoritative server āļāļāļ§ āļēොāļ¸ු āļāļģāļąāˇා. - Authoritative Server — āļ āˇāˇාāļą āļāļ්āļāļģāļē, āļāļ්āļ IP address āļāļ āļ¯ෙāļąāˇා. ✅
āļ¸ේāļ āˇāļģිāļēāļ§ āļļāˇ් āļāļේ āļොāļą්āļ¯ොāˇ්āļāļģ āļ¸āˇāļ්āļāļēāļෙāļą් āļ´ාāļģ āļ āˇāļąāˇා āˇāļේ: "āļාāļŊ්āļŊāļ§ āļēāļą්āļą āļ¸ාāļāļģ āļļāˇ් āļāļāļ§ āļąāļිāļą්āļą", "āļොāļ§ුāˇේ āļļāˇිāļą්āļą", "āļāļāļąිāļą් āˇāļ¸් āļ´ැāļ්āļāļ§". āˇැāļ¸ āļෙāļąෙāļ්āļ¸ āļ⎠āļ āļ´ිāļēāˇāļģ āļිāļēāļąāˇා. đ
TTL āˇāˇ Caching đž
āˇැāļ¸ āļ´ාāļģāļ¸ āļ¸ේ āļ¸ු⎠ු āļāļ¸āļą āļēāļą āļāļ āļ¸āļą්āļ¯āļාāļ¸ී āļąිāˇා, āļāļ්āļāļģāļē āļ§ිāļ āļාāļŊāļēāļ් cache āļāļģāļąāˇා. āļ āļාāļŊāļēāļ§ āļිāļēāļą්āļąේ TTL (Time To Live) — āļāļ්āļāļģāļē āļ¸āļāļ āļිāļēාāļāļą්āļą āļ´ු⎠ුāˇāļą් āļāļ්āļ´āļģ āļāļĢāļą.
daraz.lk. 300 IN A 104.18.20.35
# ↑ TTL = āļāļ්āļ´āļģ 300 (āˇිāļąාāļŠි 5)Command line āļāļෙāļą් āļāļēාāļ§āļ¸ try āļāļģāļą්āļą āļ´ු⎠ුāˇāļą්:
nslookup google.com
dig google.com +traceđĄ Pro Tip: Server āļāļāļ් migrate āļāļģāļą්āļą āļāļŊිāļą් āļ¯āˇāˇāļāļ§ āļāļŊිāļą් TTL āļāļ 60s āˇāļේ āļ āļŠු āļāļģāļą්āļą. āļāļāļොāļ§ IP āļāļ āļ¸ාāļģු āļ⎠ාāļ¸ āļāļ්āļ¸āļąිāļą්āļ¸ āˇැāļ¸ෝāļ§āļ¸ āļ āļŊුāļ් IP āļāļ āļŊැāļļෙāļąāˇා.
⚠️ Common Mistake: "DNS change āļ⎠ා, āļāļ් āˇැāļŠ āļāļģāļą්āļąේ āļąෑ!" āļිāļēāļŊා āļāļŊāļļāļŊ āˇෙāļąāˇා. āļļොāˇෝāˇිāļ§ āļ´āļģāļĢ TTL āļāļ āļāˇāļģ āˇෙāļąāļāļ¸් cache āļāļේ āļ´āļģāļĢ IP āļāļ āļිāļēෙāļąāˇා. āļāˇāˇāļą්āļą ⏳
đ¤ āļ´ිāļēāˇāļģ 2: TCP — "āļāˇෙāļąāˇāļ¯?" "āļāˇ් āļāˇෙāļąāˇා!"
āļ¸ොāļāļ්āļ¯ TCP?
TCP (Transmission Control Protocol) āļිāļēāļą්āļąේ data āļąැāļි āļąොāˇී, āļ´ි⎠ිāˇෙāļŊāļ§, āļąිāˇැāļģāļ¯ි⎠āļēāˇāļą්āļą āˇāļ¯āļ´ු āļąීāļි āļ¸ාāļŊාāˇāļ් (protocol āļāļāļ්). IP address āļāļ āļ¯ැāļą් āļ āļ´ි ⎠āļ āļිāļēෙāļąāˇා, āļāļ් āļāļා āļāļģāļą්āļą āļāļŊිāļą් connection āļāļāļ් āˇāļ¯ාāļāļą්āļą āļāļąේ.
3-Way Handshake đ¤
TCP connection āļāļāļ් āļ´āļ§āļą් āļāļą්āļąේ āļ´āļĢිāˇිāļŠ 3āļිāļą්:
- SYN — Client: "āˇāļŊෝ, āļāļා āļāļģāļą්āļą āļ´ු⎠ුāˇāļą්āļ¯?"
- SYN-ACK — Server: "āļāˇ්, āļ¸āļ§ āļāˇෙāļąāˇා. āļāļēාāļ§ āļ¸ා⎠āļāˇෙāļąāˇāļ¯?"
- ACK — Client: "āļāˇ් āļāˇෙāļąāˇා, āļ´āļ§āļą් āļāļ¸ු!" ✅
āļ āļ´ේ āļāļ¸්āˇāļŊ phone call āļāļāļ් āˇිāļāļą්āļą: "āˇāļŊෝ... āļāˇෙāļąāˇāļ¯?" "āļ āļāˇ් āļāˇ් āļāˇෙāļąāˇා, āļāļēාāļ§ āļ¸ා⎠āļāˇෙāļąāˇāļ¯?" "āļāˇ්, āˇāļģි āļ¯ැāļą් āļිāļēāļą්āļą." đ āļāļ āļāļ¸āļēි 3-way handshake āļāļ!
Port āļිāļēāļą්āļąේ āļ¸ොāļāļ්āļ¯? đĒ
IP address āļāļ āļොāļŠāļąැāļිāļŊ්āļŊේ āļŊිāļ´ිāļąāļē āļąāļ¸්, port āļāļ āļිāļēāļą්āļąේ āļාāļ¸āļģ āļ ංāļāļē. āļāļāļ¸ server āļāļේ services āļොāļŠāļ් āļ¯ුāˇāļąāˇා, port āļāļෙāļą් āļāļ¸āļēි āˇāļģි service āļāļāļ§ āļēāļą්āļąේ.
- Port
80→ HTTP - Port
443→ HTTPS - Port
5432→ PostgreSQL database - Port
3306→ MySQL database
TCP āļāļේ āˇුāļ´ිāļģි āˇැāļිāļēාāˇāļą් đĒ
- Reliability — packet āļāļāļ් āļąැāļි āˇුāļĢොāļ් āļāļ´āˇු āļēāˇāļąāˇා.
- Ordering — packets āļ āˇුāļŊ් āļ´ි⎠ිāˇෙāļŊāļ§ āļāˇāļ් āˇāļģි āļ´ි⎠ිāˇෙāļŊāļ§ āˇāļ¯āļąāˇා.
- Flow control — receiver āļāļāļ§ āļ¯āļģාāļāļą්āļą āļļැāļģි āˇේāļෙāļą් āļēāˇāļą්āļąේ āļąෑ.
đĄ Pro Tip: Handshake āļāļāļ§ round trip āļāļāļ් (āļēāļą්āļą-āļāļą්āļą āļēāļą āļාāļŊāļē) āļēāļąāˇා. āļො⎠āļš āļāļŗāļą් Singapore server āļāļāļāļ§ 40ms āˇිāļāļģ, US server āļāļāļāļ§ 200ms+ āˇෙāļą්āļą āļ´ු⎠ුāˇāļą්. āļ āļąිāˇා users āļŊාāļ§ āˇ āļ server (region) āļෝāļģāļą්āļą.
⚠️ Common Mistake: āˇැāļ¸ request āļāļāļāļ§āļ¸ āļ āļŊුāļ් TCP connection āļāļāļ් āˇāļ¯āļą āļāļ. Keep-alive āļ´ාāˇිāļ ්āļ ි āļāļģāļŊා connection āļāļ reuse āļāļģāļą්āļą — handshake āļāļේ āˇිāļēāļ¯āļ¸ āļāļ āļ´ාāļģāļēි.
đ āļ´ිāļēāˇāļģ 3: TLS — āļģāˇāˇ් āļāļා⎠āļāļģāļ්āˇා āļāļģāļą āļ āļුāļŊ
āļ¸ොāļāļ්āļ¯ TLS?
TLS (Transport Layer Security) āļිāļēāļą්āļąේ āļāļēාāļේ device āļāļāļēි server āļāļāļēි āļ
āļāļģ āļēāļą data encrypt āļāļģāļą (āļාāļ§āˇāļ් āļිāļēāˇāļą්āļą āļļැāļģි āļේāļāļēāļāļ§ āˇāļģāˇāļą) protocol āļāļ. Browser āļāļේ đ āļ
āļුāļŊ āˇāˇ https:// āļāļේ āļිāļēෙāļą S āļāļ āļāˇේ TLS āļąිāˇා.
TLS āļąැāļු⎠āļāļēා cafÊ WiFi āļāļāļිāļą් bank āļāļāļ§ login āˇුāļĢොāļ්, āļ network āļāļේ āļāļą්āļą āļāļąෑāļ¸ āļෙāļąෙāļ්āļ§ password āļāļ āļිāļēāˇāļą්āļą āļ´ු⎠ුāˇāļą්. đą
TLS Handshake āļāļේ āļ´්āļģāļ°ාāļą āļ¯ේāˇāļŊ් 3āļ්
- Server āļāļ āļāˇුāļ¯ āļිāļēāļŊා āļāļ´්āļ´ු āļāļģāļąāˇා đĒĒ — Server āļāļ certificate āļāļāļ් āļ´ෙāļą්āļąāļąāˇා. āļāļ Let's Encrypt, DigiCert āˇāļේ āˇිāˇ්āˇාāˇāˇāļą්āļ Certificate Authority (CA) āļāļāļ් sign āļāļģāļŊා āļිāļēෙāļą්āļąේ. āˇāļģිāļēāļ§ NIC āļāļ āˇāļේ: āļģāļĸāļē āļąිāļුāļ් āļ⎠āļąිāˇා āļ āļ´ි āˇිāˇ්āˇා⎠āļāļģāļąāˇා.
- Encryption āļ්āļģāļ¸āļē āļāļāļ āˇෙāļąāˇා 𤠗 āļ¯ෙāļොāļŊ්āļŊෝāļ¸ support āļāļģāļą āˇොāļŗāļ¸ algorithm āļāļ āļෝāļģāļąāˇා.
- Session key āļāļāļ් āˇāļ¯ාāļāļą්āļąāˇා đ — Public-key cryptography āļ´ාāˇිāļ ්āļ ි āļāļģāļŊා, āļ āļāļģāļ¸ැāļ¯ āļෙāļąෙāļ්āļ§ āļąොāļ¯ැāļąෙāļą්āļą āļģāˇāˇ් key āļāļāļ් āˇāļ¯ාāļāļą්āļąāˇා. āļāļ§ āļ´āˇ්āˇේ āˇැāļ¸ data āļāļāļ්āļ¸ āļ key āļāļෙāļą් encrypt āˇෙāļąāˇා.
TLS 1.2 vs TLS 1.3 ⚡
TLS 1.2 | TLS 1.3 | |
|---|---|---|
Handshake round trips | 2 | 1 |
Repeat visits | 1 | 0 (0-RTT) |
āļ´āļģāļĢ, āļ¯ුāļģ්āˇāļŊ algorithms | Allowed | āļāˇāļ් āļāļģāļŊා |
TLS 1.3 āļąිāˇා HTTPS āļ¯ැāļą් HTTP āļāļģāļ¸්āļ¸ āˇේāļāˇāļ්. āļāļිāļą් "HTTPS slow" āļිāļēāļą āļāļා⎠āļ´āļģāļĢāļēි! đ
đĄ Pro Tip: Production āˇāļŊ TLS 1.2 āļ§ āļ āļŠු versions disable āļāļģāļą්āļą, certificates auto-renew āˇෙāļą්āļą āˇāļāˇ් āļāļģāļą්āļą (Let's Encrypt + certbot āˇෝ cloud provider āļේ managed certificates).
⚠️ Common Mistake: Certificate āļāļ expire āˇෙāļą āļ¯ිāļąāļē āļ āļ¸āļāļ āļāļģāļą āļāļ. āļŊොāļු āˇāļ¸ාāļāļ¸් āˇāļŊāļ§āļ් āļ¸ේ āļąිāˇා outages āˇෙāļŊා āļිāļēෙāļąāˇා. Expiry āļāļāļ§ āļ¯ිāļą 30āļāļ§ āļāļŊිāļą් alert āļāļāļ් āļ¯ාāļą්āļą đ
✉️ āļ´ිāļēāˇāļģ 4: HTTP — āļāļ්āļ order āļāļ āļ¯ෙāļąāˇා
āļ¸ොāļāļ්āļ¯ HTTP?
HTTP (HyperText Transfer Protocol) āļිāļēāļą්āļąේ browser āļāļāļēි server āļāļāļēි āļāļා āļāļģāļą āļˇාāˇාāˇ. āļ´ාāļģāļ් āˇැāļ¯ුāˇා (TCP), āļāļ āļāļģāļ්āˇිāļāļ් āļ⎠ා (TLS). āļ¯ැāļą් āļāļ¸āļēි āļāļ්āļāļ§āļ¸ "āļ¸āļ§ āļ¸ොāļāļ්āļ¯ āļāļąේ" āļිāļēāļŊා āļිāļēāļą්āļąේ.
āļāļŠේāļ§ āļිāˇිāļą් "āļ āļēිāļēේ, chicken āļොāļ්āļු āļāļāļ්, āļŊොāļුāˇāļ§, cheese āļ¯ාāļŊා" āļිāļēāļąāˇා āˇāļේ. đ
HTTP Request āļāļāļ් āļොāˇොāļ¸āļ¯ āļ´ේāļą්āļąේ?
GET /products/123 HTTP/1.1
Host: www.daraz.lk
User-Agent: Mozilla/5.0 (Android)
Accept: application/json
Cookie: session_id=abc123- Method (
GET) — āļ¸ොāļāļ්āļ¯ āļāļģāļą්āļą āļāļąේ - Path (
/products/123) — āļ¸ොāļą resource āļāļāļ¯ - Headers — āļ āļ¸āļāļģ āˇිāˇ්āļāļģ (āļ¸ොāļą browser āļāļāļ¯, login session āļāļ, āļāļ¯ිāļē)
- Body —
POSTāˇāļේ āļāˇාāļēේāļ¯ී āļēāˇāļą data (āļāļ¯ා: form āļāļāļ āˇිāˇ්āļāļģ)
āļ´්āļģāļ°ාāļą HTTP Methods đ ️
Method | āˇැāļŠේ | āļāļŠේ analogy |
|---|---|---|
GET | Data āļāļą්āļąāˇා | Menu āļāļ āļļāļŊāļąāˇා |
POST | āļ āļŊුāļ් āļ¯ෙāļēāļ් āˇāļ¯āļąāˇා | āļ āļŊුāļ් order āļāļāļ් āļ¯ෙāļąāˇා |
PUT / PATCH | āļිāļēෙāļą āļ¯ෙāļēāļ් āˇෙāļąāˇ් āļāļģāļąāˇා | Order āļāļāļ§ cheese āļāļāļු āļāļģāļąāˇා |
DELETE | āļ¸āļāļąāˇා | Order āļāļ cancel āļāļģāļąāˇා |
Status Codes — Server āļāļේ āļāļ්āļāļģāļē đ
- 2xx ✅ āˇාāļģ්āļŽāļāļēි —
200 OK,201 Created - 3xx ↪️ āˇෙāļą āļැāļąāļāļ§ āļēāļą්āļą —
301 Moved Permanently - 4xx đ āļāļēාāļේ āˇැāļģැāļ¯්āļ¯ —
400 Bad Request,401 Unauthorized,404 Not Found - 5xx đĨ server āļāļේ āˇැāļģැāļ¯්āļ¯ —
500 Internal Server Error,503 Service Unavailable
Server āļāļāļ§ āļāļŊිāļą්: CDN āˇāˇ Load Balancer đĻ
āļŊොāļු systems āˇāļŊ request āļāļ āļෙ⎠ිāļą්āļ¸ app server āļāļāļ§ āļēāļą්āļąේ āļąෑ:
- CDN (Content Delivery Network) — āļŊෝāļāļē āļ´ුāļģා āˇිāˇිāļģුāļĢු servers. Images, CSS, JS āˇāļේ static files āļāļēාāļ§ āˇ āļāļ¸ āļැāļąිāļą් āļ¯ෙāļąāˇා. Cloudflare, CloudFront āˇāļේ.
- Load Balancer — āļāļą requests app servers āļොāļŠāļāļ§ āļļෙāļ¯āļŊා āļ¯ෙāļąāˇා. āˇāļģිāļēāļ§ bank āļāļේ "āļ⎠āļ customer, counter 3 āļ§" āļිāļēāļą āļෙāļąා āˇāļේ. đĻ
HTTP/1.1 → HTTP/2 → HTTP/3 đ
- HTTP/1.1 — āļāļ connection āļāļāļිāļą් āļāļ āļ´ාāļģāļāļ§ āļāļ request āļāļāļēි.
- HTTP/2 — āļāļāļ¸ connection āļāļෙāļą් requests āļොāļŠāļ් āļāļāˇāļģ (multiplexing).
- HTTP/3 — TCP āˇෙāļąුāˇāļ§ QUIC (UDP āļ¸āļ) āļ´ාāˇිāļ ්āļ ි āļāļģāļąāˇා. Handshake āļāļ්āļ¸āļą්, mobile network āļ¸ාāļģු āˇුāļĢāļ් connection āļāļ āļැāļŠෙāļą්āļąේ āļąෑ. đļ
⚠️ Common Mistake: Error āļāļāļ් āļāˇāļ්
200 OKāļāļāļ් return āļāļģāļŊා body āļāļේ"error": trueāļ¯ාāļą āļāļ. āˇāļģි status code āļāļ āļ¯ාāļą්āļą — monitoring tools, caches, clients āļāļ්āļොāļ¸ āļāļ āļ¸āļ āļēැāļ´ෙāļąāˇා.
⚙️ āļ´ිāļēāˇāļģ 5: App — āļāļŠේ āļුāˇ්āˇිāļē
Request āļāļ server āļāļ āļāļු⎠āļ§ āļāˇāļ§ āļ´āˇ්āˇේ
Load balancer āļāļෙāļą් āļ´āˇ්āˇේ request āļāļ āļ¸ුāļŊිāļą්āļ¸ āļēāļą්āļąේ reverse proxy āļāļāļāļ§ (āļāļ¯ා: Nginx) — app āļāļ āļāļ¯ිāļģිāļēේ āļāļą්āļą āļ¯ොāļģāļ§ුāļ´ාāļŊāļēා đĒ. āļāļ TLS āļ āˇāˇāļą් āļāļģāļą්āļą, compress āļāļģāļą්āļą, rate limit āļāļģāļą්āļą āļ´ු⎠ුāˇāļą්. āļāļ§ āļ´āˇ්āˇේ āļāļ¸āļēි āļāļēාāļේ application server āļāļāļ§ (Node.js, Spring Boot, Django, .NET āˇāļේ) āļēāļą්āļąේ.
App āļāļ āļāļු⎠ේ āļ¸ොāļāļ¯ āˇෙāļą්āļąේ? đ§
- Routing —
/products/123āļāļ āˇāˇුāļģුāˇāļą්āļąේ āļ¸ොāļą function āļāļāļ¯ āļිāļēāļŊා āˇොāļēāļąāˇා. - Middleware — logging, authentication (āļāļēා āļāˇුāļ¯?), authorization (āļāļēාāļ§ āļ¸ේāļ āļāļģāļą්āļą āļ āˇāˇāļģ āļිāļēෙāļąāˇāļ¯?) đ
- Validation — āļāļą data āˇāļģිāļ¯ āļිāļēāļŊා check āļāļģāļąāˇා.
- Business logic — āļāļ්āļ āˇැāļŠේ: āļ¸ිāļŊ āļāļĢāļąāļē, discount, stock āļļāļŊāļąāˇා.
- Cache check — "āļ¸ේ āļāļ්āļāļģāļē Redis āļāļේ āļිāļēෙāļąāˇāļ¯?" āļිāļēෙāļąāˇා āļąāļ¸් DB āļāļāļ§ āļēāļą්āļąේ āļąෑ ⚡
- DB call — āļąැāļ්āļąāļ¸් database āļāļෙāļą් āļāļŊ්āļŊāļąāˇා.
- Response — JSON āˇෝ HTML āˇāļ¯āļŊා āļāļ´āˇු āļēāˇāļąāˇා.
// Express.js āļāļ¯ාāˇāļģāļĢāļēāļ්
app.get('/products/:id', authenticate, async (req, res) => {
const cached = await redis.get(`product:${req.params.id}`);
if (cached) return res.json(JSON.parse(cached)); // ⚡ Cache hit
const product = await db.query(
'SELECT * FROM products WHERE id = $1', [req.params.id]
);
if (!product) return res.status(404).json({ message: 'Not found' });
await redis.set(`product:${req.params.id}`, JSON.stringify(product), 'EX', 60);
res.json(product);
});āļāļŠේ āļļාāˇ් āˇāļේ: order āļāļ āļිāļēāˇāļąāˇා, āļāļŊිāļą් āˇāļ¯āļŊා āļිāļēෙāļą āļāļāļ් āļිāļēෙāļąāˇāļ¯ āļļāļŊāļąāˇා (cache), āļąැāļ්āļąāļ¸් āļāļļāļŠාāˇෙāļą් āļļāļŠු āļ āļģāļą් (DB) āļ āļŊුāļෙāļą් āˇāļ¯āļąāˇා. đ¨đŗ
đĄ Pro Tip: App servers stateless āļāļģāļą්āļą — session data server memory āļāļේ āļąෙāˇෙāļēි, Redis āˇāļේ shared store āļāļāļ āļිāļēāļą්āļą. āļāļāļොāļ§ load balancer āļāļāļ§ āļāļąෑāļ¸ server āļāļāļāļ§ request āļēāˇāļą්āļą āļ´ු⎠ුāˇāļą්, scale āļāļģāļą්āļąāļ් āļŊේāˇිāļēි.
⚠️ Common Mistake: N+1 query problem — products 50āļ list āļāļāļāļ§, āļāļ query āļāļāļ් āˇෙāļąුāˇāļ§ queries 51āļ් āļēāˇāļą āļāļ. ORM āļ´ාāˇිāļ ්āļ ි āļāļģāļąāļොāļ§ āˇිāˇේāˇāļēෙāļą් āļ´්āļģāˇේāˇāļ¸් āˇෙāļą්āļą.
đ️ āļ´ිāļēāˇāļģ 6: DB — āļāļļāļŠා āļාāļ¸āļģāļē
āļ¸ොāļāļ්āļ¯ Database āļāļāļ්?
Database āļāļāļ් āļිāļēāļą්āļąේ data āļ´ි⎠ිāˇෙāļŊāļ§ āļāļļāļŠා āļāļģāļŊා, āļāļ්āļ¸āļąිāļą් āˇොāļēාāļāļą්āļą āļ´ු⎠ුāˇāļą් system āļāļāļ්. PostgreSQL, MySQL āˇāļේ SQL databases tables (Excel sheet āˇāļේ) āˇිāļ¯ිāļēāļ§ data āļිāļēාāļāļą්āļąāˇා. MongoDB āˇāļේ NoSQL āļāˇා documents āˇිāļ¯ිāļēāļ§.
Query āļāļāļ āļāļ¸āļą đ
App āļāļ DB āļāļāļ§ query āļāļāļ් āļēැāˇ්āˇාāļ¸:
- Connection pool āļāļෙāļą් connection āļāļāļ් āļāļą්āļąāˇා (āļ āļŊුāļෙāļą් āˇāļ¯āļą්āļąේ āļąෑ).
- DB āļāļ SQL āļāļ parse āļāļģāļąāˇා (āļේāļģුāļ¸් āļāļą්āļąāˇා).
- Query planner āļāļ āˇොāļŗāļ¸ āļ්āļģāļ¸āļē āļෝāļģāļąāˇා — index āļāļāļ් āļ´ාāˇිāļ ්āļ ි āļāļģāļąāˇāļ¯, āļ¸ු⎠ු table āļāļāļ¸ scan āļāļģāļąāˇāļ¯?
- Data disk āļāļෙāļą් āˇෝ memory āļāļෙāļą් āļ āļģāļą් result āļāļ app āļāļāļ§ āļēāˇāļąāˇා.
Index — āļ´ොāļේ āļ āļą්āļිāļ¸ āļ´ිāļ§ුāˇේ āļිāļēෙāļą "āˇූāļ ිāļē" đ
Index āļāļāļ් āļąැāļ්āļąāļ¸්, "product 123" āˇොāļēāļą්āļą rows āļŊāļ්⎠āļāļĢāļąāļ් āļāļිāļą් āļāļ āļļāļŊāļą්āļą āˇෙāļąāˇා. Index āļāļāļ් āļිāļēෙāļąāˇා āļąāļ¸් āļāļ්āļ´āļģāļēෙāļą් āļොāļ§āˇāļිāļą් āˇොāļēාāļāļą්āļąāˇා. ⚡
CREATE INDEX idx_products_category ON products(category_id);
-- Query āļāļ index āļāļ āļ´ාāˇිāļ ්āļ ි āļāļģāļąāˇāļ¯ āļļāļŊāļą්āļą:
EXPLAIN ANALYZE SELECT * FROM products WHERE category_id = 5;Connection Pooling đ
DB connection āļāļāļ් āˇāļ¯āļą āļāļ āˇිāļēāļ¯āļ¸් āˇැāļŠāļ් (TCP + auth + memory). āļ āļąිāˇා connections 10–20āļ් āļāļŊිāļą්āļ¸ āˇāļ¯āļŊා "pool" āļāļāļ āļිāļēාāļෙāļą, request āļāļą āļāļą āˇිāļ¯ිāļēāļ§ āļĢāļēāļ§ āļ¯ීāļŊා āļāļ´āˇු āļāļą්āļąāˇා. āˇāļģිāļēāļ§ āļ්āļģීāˇීāļŊ් park āļāļāļ් āˇāļේ — āˇැāļ¸ āļ´ාāļģāļ¸ āļ āļŊුāļ් āļ්āļģීāˇීāļŊ් āļāļāļ් āˇāļ¯āļą්āļąේ āļąෑ, park āļāļේ āļāļą්āļą āļāļāļ් āļāļą්āļąāˇා. đē
āļāļ´āˇු āļāļ¸āļą đ
DB → App (JSON āˇāļ¯āļąāˇා) → Load Balancer → TLS encrypt → TCP → āļāļēාāļේ browser āļāļ → browser āļāļ HTML/CSS/JS render āļāļģāļŊා screen āļāļේ āļ´ෙāļą්āļąāļąāˇා. đ
⚠️ Common Mistake:
SELECT *āļ´ාāˇිāļ ්āļ ි āļāļģāļŊා āļ āˇāˇ්āļē āļąැāļි columns 50āļ් āļෙāļą්āˇāļą āļāļ,WHEREāļāļේ āļ´ාāˇිāļ ්āļ ි āļāļģāļą columns āˇāļŊāļ§ index āļąොāļ¯ාāļą āļāļ. Slow apps āˇāļŊිāļą් āˇැāļŠි āļ´්āļģāļ¸ාāļĢāļēāļ āļ¸ූāļŊāļē āļ¸ේ āļ¯ෙāļāļēි.
đąđ° Real-World āļāļ¯ාāˇāļģāļĢāļē: āļාāļŊ්āļŊේ āļāļŗāļą් Online Order āļāļāļ්
āļąිāļ¸ාāļŊි āļාāļŊ්āļŊේ āļāļŗāļą් Dialog 4G āļāļෙāļą්, online shop āļāļāļ app āļāļේ "Place Order" button āļāļ āļāļļāļąāˇා āļිāļēāļŊා āˇිāļāļ¸ු. đą Servers āļිāļēෙāļą්āļąේ Singapore AWS region āļāļේ.
āļ´āˇ āļ¸ු āļ´ාāļģāļ§ āļāļąāļොāļ§ āļාāļŊāļē āļļෙāļ¯ෙāļą āˇිāļ¯ිāļē (āļ¯āˇ āļāˇ්āļāļ¸ේāļą්āļුāˇāļ්, network āļāļ āļ āļąු⎠āˇෙāļąāˇ් āˇෙāļąāˇා):
āļ´ිāļēāˇāļģ | āˇිāļ¯ුāˇෙāļą āļ¯ේ | āļ¯āˇ āļාāļŊāļē |
|---|---|---|
DNS | Resolver āļāļෙāļą් IP āļāļ āˇොāļēāļąāˇා | 20–100 ms |
TCP | Singapore āļāļāļ§ handshake āļāļ | ~50 ms |
TLS 1.3 | Certificate + key exchange | ~50 ms |
HTTP |
| ~50 ms |
App | Auth, stock check, payment gateway call | 50–300 ms |
DB | Order āļāļ save āļāļģāļąāˇා (transaction) | 5–20 ms |
āļ¸ු⎠ු āļāļāļු⎠āļ´āˇ āˇෙāļąි āļ´ාāļģāļ§ 300–600ms āˇිāļāļģ. đ¤¯ āļāļ් āļ¯ෙāˇෙāļąි order āļāļේāļ¯ී DNS cache āˇෙāļŊා, TCP/TLS connection āļāļ reuse āˇෙāļą āļąිāˇා 100–300ms āˇāļේ āļ āļŠු āˇෙāļąāˇා.
āļ¸ෙāļāļąිāļą් āļ´ේāļą āˇැāļ¯āļāļ්āļ¸ āļ¯ේ: network round trips āļļොāˇෝāˇිāļ§ DB āļāļāļ§ āˇāļŠා āˇැāļŠි āļාāļŊāļēāļ් āļāļą්āļąāˇා. āļ āļąිāˇා āļŊංāļාāˇේ users āļŊා target āļāļģāļą apps āˇāļŊāļ§ Singapore āˇෝ Mumbai āˇāļේ ⎠āļ region āļāļāļ් āļෝāļģāļą āļāļ āļŊොāļු āˇෙāļąāˇāļ්. đ
Global āļāļ¯ාāˇāļģāļĢ đ
- Netflix / YouTube — āˇීāļŠිāļēෝ āļāļēාāļ§ āˇ āļāļ¸ CDN server āļāļෙāļą් āļ¯ෙāļąāˇා, āļ āļąිāˇා HTTP step āļāļ āļŊංāļාāˇේ ISP network āļāļ āļāļු⎠ෙāļą්āļ¸ āļāˇāļģ āˇෙāļą්āļąāļ් āļ´ු⎠ුāˇāļą්.
- Google — HTTP/3 (QUIC) āļ´ාāˇිāļ ්āļ ි āļāļģāļŊා handshake āļාāļŊāļē āļ āļŠු āļāļģāļąāˇා.
- Banking apps — TLS, certificate pinning, DB transactions āļāļා āļ¯ැāļŠි⎠āļ´ාāˇිāļ ්āļ ි āļāļģāļąāˇා, āļ¸ොāļāļ¯ āˇāļŊ්āļŊි āˇāļ¸්āļļāļą්āļ° āļąිāˇා đđ°
đĄ Pro Tip: Chrome DevTools → Network tab → request āļāļāļ් click āļāļģāļŊා Timing āļļāļŊāļą්āļą. āļ¸ේ blog āļāļේ āļāļා āļāļģāļ´ු āˇැāļ¸ āļ´ිāļēāˇāļģāļ්āļ¸ (DNS lookup, Initial connection, SSL, Waiting/TTFB) āļāļēාāļ§āļ¸ āļāˇිāļą් āļ¯āļිāļą්āļą āļ´ු⎠ුāˇāļą්! đ
đ️ Architect-Level Insights: āļ āˇුāļģුāļ¯ු 20āļ āļ āļ්āļ¯ැāļීāļ¸ෙāļą්
āļ¸ේ āļāļ¸āļą āˇොāļŗāļ§ āļේāļģුāļ¸් āļāļ්āļාāļ¸, performance āˇāˇ reliability āļ´්āļģāˇ්āļą āˇොāļēāļą්āļą āļāļēාāļ§ "X-ray āļāˇ්" āļŊැāļļෙāļąāˇා. đϏ āļ¸ෙāļą්āļą āļ¸āļ¸ āļŊොāļු systems āˇāļŊāļ¯ී āļāļෙāļą āļāļ්āļ āļ¯ේāˇāļŊ්:
1. āˇැāļ¸ step āļāļāļ්āļ¸ failure point āļāļāļ් ⚠️ DNS down āˇුāļĢොāļ්, certificate expire āˇුāļĢොāļ්, DB connection pool āļāļ āļ´ිāļģුāļĢොāļ් — āļāļąෑāļ¸ āļāļāļිāļą් āļ¸ු⎠ු system āļāļāļ¸ āļąāˇāļිāļąāˇා. Production incident āļāļāļāļ¯ී āļ¸ේ āļ´ිāļēāˇāļģ 6 checklist āļāļāļ් āˇිāļ¯ිāļēāļ§ āļ´ාāˇිāļ ්āļ ි āļāļģāļą්āļą: "āļ´්āļģāˇ්āļąāļē āļ¸ොāļą hop āļāļේāļ¯?"
2. Latency āļāļāļු āˇෙāļąāˇා, āļ āļąිāˇා round trips āļ āļŠු āļāļģāļą්āļą đ CDN, connection reuse (keep-alive, HTTP/2), TLS 1.3, caching — āļ¸ේ āˇැāļ¸ āļāļāļāļ¸ āļ āļģāļ¸ුāļĢ āļāļāļēි: āļ āļąāˇāˇ්āļē āļāļ¸āļą් āļ āļŠු āļāļģāļą āļāļ.
3. Cache āļāļģāļą්āļą āļ´ු⎠ුāˇāļą් āˇැāļ¸ layer āļāļāļāļ¸ cache āļāļģāļą්āļą đž Browser cache → CDN → Redis → DB buffer cache. Request āļāļāļ් DB āļāļāļ§ āļēāļą්āļąāļ¸ āļāļąේ āļąැāļ්āļąāļ¸් āˇොāļŗāļ¸ DB query āļāļ āļāļ¸āļēි āļāļ. āļāļ් cache invalidation (āļ´āļģāļĢ data āļ āļēිāļą් āļāļģāļą āļāļ) āļැāļą āļāļŊිāļą්āļ¸ āˇිāļāļą්āļą.
4. Timeouts āˇāˇ Retries āˇāļģිāļēāļ§ āļ¯ාāļą්āļą ⏱️ āˇැāļ¸ network call āļāļāļāļ§āļ¸ timeout āļāļāļ් āļ¯ාāļą්āļą. Retry āļāļģāļąāļොāļ§ exponential backoff (āˇැāļ¸ āļ´ාāļģāļ¸ āˇැāļŠි āļාāļŊāļēāļ් āļāļŗāļŊා āļāļ්āˇා⎠āļāļģāļą āļāļ) āļ´ාāˇිāļ ්āļ ි āļāļģāļą්āļą, āļąැāļ්āļąāļ¸් āļැāļŠිāļŊා āļිāļēෙāļą service āļāļāļ් āļāļēාāļ¸ āļāˇāļ් āļāļŠāļąāˇා.
5. Observability: āļļāļŊāļą්āļą āļļැāļģි āļ¯ේ āˇāļ¯āļą්āļą āļļෑ đ Distributed tracing (OpenTelemetry, Jaeger āˇāļේ) āļ´ාāˇිāļ ්āļ ි āļāļģāļŊා āļāļ request āļāļāļ් load balancer → app → DB āˇāļģāˇා āļēāļą āļāļ¸āļą ms āˇāļŊිāļą් āļļāļŊāļą්āļą. Logs, metrics, traces āļුāļąāļ¸ āļāļąේ.
6. āļāļģāļ්āˇා⎠āˇැāļ¸ layer āļāļāļāļ¸ đ DNSSEC, TLS everywhere (internal services āļ āļāļģāļ් — mTLS), WAF, parameterized queries (SQL injection āˇāļŊිāļą් āļļේāļģෙāļą්āļą), least-privilege DB users. "āļāļු⎠ේ network āļāļ safe" āļිāļēāļŊා āˇිāļāļą්āļą āļāļ´ා.
đĄ Pro Tip: Interview āļāļāļāļ¯ී "What happens when you type a URL?" āļāˇුāˇොāļ්, āļ¸ේ āļ´ිāļēāˇāļģ 6 āļිāļēāļŊා, āļāļ§ āļ´āˇ්āˇේ "Production āļāļේāļ¯ී āļ¸āļ¸ āļ¸ේ āļāļ āļāļ hop āļāļ monitor āļāļģāļą්āļąේ āļ¸ෙāˇෙāļ¸āļēි" āļිāļēāļŊා āļāļා āļāļģāļą්āļą. Senior candidate āļෙāļąෙāļ් āˇෙāļą් āļāļģāļŊා āļ´ේāļą්āļąේ āļāļāļąිāļą් đ
⚠️ Common Mistake: "App āļāļ slow" āļිāļēāļŊා āļෙ⎠ිāļą්āļ¸ code āļāļ optimize āļāļģāļą්āļą āļ´āļ§āļą් āļāļą්āļą āļāļ. āļ¸ුāļŊිāļą්āļ¸ measure āļāļģāļą්āļą — āļļොāˇෝāˇිāļ§ āļ´්āļģāˇ්āļąāļē DNS, network distance, āˇෝ index āļąැāļි query āļāļāļ්.
✅ Key Takeaways
- đ DNS — āļąāļ¸ IP address āļāļāļāļ§ āˇāļģāˇāļąāˇා. TTL āˇāˇ caching āļąිāˇා āļ¯ෙāˇෙāļąි āļ´ාāļģ āļāļ්āļ¸āļą්.
- đ¤ TCP — 3-way handshake āļāļෙāļą් āˇිāˇ්āˇාāˇāļ¯ාāļēāļ connection āļāļāļ් āˇāļ¯āļąāˇා. Port āļāļ = āļාāļ¸āļģ āļ ංāļāļē.
- đ TLS — Certificate āļāļෙāļą් server āļāļ āļāļ´්āļ´ු āļāļģāļŊා, data encrypt āļāļģāļąāˇා. TLS 1.3 = āˇේāļāˇāļ් + āļāļģāļ්āˇිāļ.
- ✉️ HTTP — Method, path, headers, body āˇāˇ status codes. CDN āˇāˇ load balancer āļ āļāļģāļ¸ැāļ¯ āļāļą්āļąāˇා.
- ⚙️ App — Routing → auth → validation → business logic → cache → DB → response.
- đ️ DB — Indexes āˇāˇ connection pooling āļąැāļු⎠scale āļāļģāļą්āļą āļļෑ.
- đ️ Architect mindset — āˇැāļ¸ hop āļāļāļ්āļ¸ latency āļāļāļ් āˇāˇ failure point āļāļāļ්. Measure āļāļģāļą්āļą, cache āļāļģāļą්āļą, round trips āļ āļŠු āļāļģāļą්āļą.
đ āļ⎠āļāļ§ āļāļෙāļą āļāļą්āļą āļāļąේ āļ¸ොāļąāˇāļ¯?
- OSI Model āˇāˇ TCP/IP Model — āļ¸ේ layers āļŊෝāļāļē āļැāļą āļැāļšුāļģිāļą්.
- Load Balancing Algorithms — Round robin, least connections, consistent hashing.
- Caching Strategies — Cache-aside, write-through, CDN cache headers (
Cache-Control,ETag). - Database Scaling — Read replicas, sharding, query optimization.
- HTTP/3 āˇāˇ QUIC — Internet āļāļේ āļ āļąාāļāļāļē.
- Observability — OpenTelemetry, Prometheus, Grafana āļāļ්āļ distributed tracing.
đ ️ āļ
āļ¯ āļāļģāļą්āļą āļ´ුāˇ
ුāˇāļą් practice āļāļāļ්: Terminal āļāļේ curl -v https://google.com run āļāļģāļŊා output āļāļ āļිāļēāˇāļą්āļą. DNS, TCP connect, TLS handshake, HTTP headers āļāļ්āļොāļ¸ āļāļāļą āļ´ේāļąāˇා. āļ¸ේ blog āļāļේ āļāļා āļāļģāļ´ු āļāļ¸āļą āļāļēාāļේ āļāˇ් āļāˇ්āˇāļģāˇāļ¸! đ¯
āļ´්āļģāˇ්āļą āļිāļēෙāļąāˇා āļąāļ¸් comment āļāļāļ් āļ¯ාāļą්āļą. āļ⎠āļ blog āļāļෙāļą් āˇāļ¸ුāˇෙāļ¸ු! ☕đ






Comments
Post a Comment