Server-Side Rendering (SSR) va User-Side Rendering (CSR/USR) arxitekturasi
10-sinfAdvanced Python Back-end1-hafta · 1-darsFrontend va backend o'rtasidagi aloqa, HTTP so'rov va javob mexanizmi.
Server-side va user-side renderingning ishlash tartibi, afzallik va kamchiliklari.
RESTful tamoyillari, JSON ma'lumotlar va Django REST Framework afzalliklari.
Mijoz (Client) va Server muloqoti
Veb-dasturlashda har qanday amal HTTP so'rovi va javobi orqali amalga oshadi
Serverdan ma'lumotlarni so'rab olish. Ma'lumotlar bazasini o'zgartirmaydi.
Serverga yangi ma'lumot yuborish (ro'yxatdan o'tish, yangi post qo'shish).
Mavjud ma'lumotni to'liq (PUT) yoki qisman (PATCH) yangilash.
Serverdagi ma'lumotni o'chirib tashlash.
Sahifaning serverda to'liq tayyorlanishi (Klassik Django)
Server ma'lumotlar bazasidan olib, HTML shablonni to'ldiradi va tayyor sahifani uzatadi
Mijoz tomonida renderlash (CSR / SPA arxitekturasi)
Server bo'sh HTML va JS beradi, brauzerdagi JS esa API orqali faqat JSON oladi
Sahifa umuman qayta yuklanmaydi. Tugmani bosganda faqat kerakli qism o'zgaradi.
Server har safar og'ir HTML yig'maydi. 100 KB o'rniga 3 KB toza JSON uzatiladi.
Yaratilgan REST API-dan bir vaqtning o'zida Web, iOS, Android va Bot foydalanadi.
| Mezon | Server-Side (SSR) | User-Side (USR / CSR) |
|---|---|---|
| Render joyi | Serverda (Django MTV) | Brauzerda (JS / React) |
| SEO qulayligi | Juda oson va yuqori | Qo'shimcha sozlamalar talab etadi |
| Interaktivlik | Past (sahifa qayta yuklanadi) | Juda yuqori (SPA tajribasi) |
| Server yuklamasi | Yuqori | Minimal (faqat ma'lumot) |
| Boshqa ilovalar | Mobil ilovalar ulana olmaydi | Universal (Web, Mobile, Bot) |
Loyiha talabiga qarab texnologiya tanlash mahorati
Yangiliklar portallari va ommaviy bloglar uchun qidiruv tizimlari (Google, Yandex) birinchi o'rinda turadi. Foydalanuvchi havolani bosganda matn darhol ko'rinishi shart.
Buxgalteriya, maktab boshqaruv tizimi yoki tahliliy panelda SEO kerak emas. Bu yerda son-sanoqsiz jadvallar, filtrlar va tezkor hisob-kitoblar sahifa yangilanmasdan ishlashi kerak.
Standartlashtirilgan backend API tamoyillari
/api/v1/posts/ (amal metod bilan bildiriladi).
Oddiy, tushunarli va barcha dasturlash tillari taniydigan format
{
"id": 101,
"title": "Django REST Framework asoslari",
"slug": "drf-asoslari",
"status": "published",
"category": {
"id": 2,
"name": "Backend dasturlash"
},
"views_count": 1420,
"created_at": "2026-10-04T12:00:00Z"
}
Django model obyektlarini JSON-ga va kelgan JSON-ni modelga o'tkazuvchi filtr/tarjimon.
CRUD mantiqini birlashtiruvchi, biznes qoidalarni va ruxsatlarni boshqaruvchi qatlam.
URL marshrutlarni avtomatik ravishda REST standartida shakllantiruvchi dvigatel.
Brauzerda API ni hech qanday qo'shimcha dastursiz to'g'ridan-to'g'ri testlash mumkin
HTTP 200 OK
Content-Type: application/json
[
{
"id": 1,
"title": "Texnologiya yangiliklari"
}
]
Kartani bosib, uning ma'nosini tekshiring
Bosing va tekshiring
HTML serverda yig'ilib, tayyor holda brauzerga jo'natiladi.
Bosing va tekshiring
Brauzerda JS ishlaydi, serverdan faqat JSON API olinadi.
Bosing va tekshiring
Har bir so'rov mustaqil, server o'tgan so'rovni eslab o'tirmaydi.
Qaysi holatda Django REST Framework (API) ishlatish eng to'g'ri qaror hisoblanadi?
GET /api/v1/delete_user/5/ xato!).
DELETE /api/v1/users/5/.
Keyingi darsda: DRF loyiha qurish, PostgreSQL sozlash va NewsPortal arxitekturasini yaratamiz!