18-dars: Internet va Web
5-blokTarmoq, xavfsizlik, chegaralar17–20 darslar
Nega bu muhim
“Nega bu muhim” bo'limiga havolaO’tgan darsda paketlar manzilga yetdi. Lekin yetib borgach nima deyishadi? “Sahifa ber”, “rasm ber”, “mana fikrim — saqlab qo’y” — bu gaplar qanday tilda aytiladi?
O’sha til — HTTP, va u hayratlanarli darajada oddiy: ikkala tomon ham shunchaki matn yozadi. Bugun siz brauzer har soniyada qiladigan suhbatni qo’lda o’tkazasiz — va shu bilan “sayt ochilishi” degan sehr oddiy so’rov-javobga aylanadi.
Bu darsdan keyin siz
- klient-server modelini o’z so’zingiz bilan tushuntira olasiz
- HTTP so’rovning qismlarini bilasiz: metod, yo’l, sarlavhalar, tana
- 200, 404, 201 kabi status kodlarni o’qiy olasiz
- internet va Web bir narsa emasligini ayta olasiz
Nazariya
“Nazariya” bo'limiga havolaInternet ≠ Web
“Internet ≠ Web” bo'limiga havolaKo’p adashiladigan farq: internet — kompyuterlarni ulovchi tarmoq (17-dars: paketlar, IP, routerlar). Web — shu tarmoq USTIDA ishlaydigan xizmatlardan biri: sahifalar va havolalar olami. Messenjer, onlayn o’yin, musiqa striming — ular ham internetda, lekin Web emas.
Xuddi yo’l bilan avtobus kabi: yo’l — internet, avtobus — Web. Yo’lda boshqa mashinalar ham yuradi.
Klient va server: so’rovchi va javob beruvchi
“Klient va server: so’rovchi va javob beruvchi” bo'limiga havolaWeb’ning butun muloqoti bitta qolipda: klient so’raydi — server javob beradi. Klient — brauzeringiz. Server — sahifalarni saqlab, so’rovlarni kutib o’tirgan kompyuter.
klient-serverclient-server
Muloqot modeli: klient so’rov yuboradi, server javob qaytaradi. Suhbatni doim klient boshlaydi — server o’zi hech kimga sahifa “yubormaydi”.
HTTP: matnli suhbat
“HTTP: matnli suhbat” bo'limiga havolaSo’rov ham, javob ham — oddiy matn. So’rovning birinchi qatori: metod (nima qilmoqchisiz: GET — ber, POST — qabul qil) va yo’l (nima haqida: /darslar/5). Keyin sarlavhalar — suhbat haqidagi qo’shimcha ma’lumot. POST’da oxirida tana — yuborilayotgan ma’lumot.
HTTPhypertext transfer protocol
Klient va server o’rtasidagi matnli kelishuv: so’rov qanday yoziladi, javob qanday qaytadi. Butun Web shu protokol ustida turadi.
Javobning birinchi qatori — status kod: 200 OK (mana, oling), 404 Not Found (bunday narsa yo’q), 201 Created (qabul qildim, yaratdim), 500 (menda ichki xato). Uch xonali son — suhbatning butun taqdiri.
Sinab ko’r
“Sinab ko’r” bo'limiga havolaSo’rovni qo’lda yig’ing: metod va yo’lni tanlang, POST’da tana ham yozing. Yuborilgach, javobni o’qing — har sarlavhaning izohi ostida chiqadi. Uch topshiriq: 200, 404 va 201 kodlarini o’z ko’zingiz bilan ko’ring.
So'rov quruvchi
Metod va yo'lni tanlab so'rov yig'ing, so'ng yuborib javobni o'qing.
Bu simulyatorda HTTP so'rov qo'lda yig'iladi: metod (GET/POST), yo'l va POST uchun tana. Soxta server status kodi, sarlavhalar va tana bilan javob beradi — har sarlavha izohlanadi.
JavaScript'siz mashq: GET /darslar/5 so'rovining to'liq matnini va unga keladigan 200 javobni darsdagi namunaga qarab qo'lda yozib chiqing.
- Bosh sahifani oling — 200 OK ko'ring
- Mavjud bo'lmagan sahifani so'rang — 404 ko'ring
- POST bilan /fikr ga fikr yuboring — 201 ko'ring
- Internet — tarmoq; Web — uning ustidagi xizmatlardan biri
- Klient so’raydi, server javob beradi — suhbatni doim klient boshlaydi
- HTTP so’rovi: metod + yo’l + sarlavhalar (+ POST’da tana) — hammasi matn
- Status kod birinchi raqami aybdorni aytadi: 2 — yaxshi, 4 — klient, 5 — server
- HTTPS = HTTP + shifrlash
O’zingizni sinang
“O’zingizni sinang” bo'limiga havola1Internet bilan Web farqini o'z misolingiz bilan tushuntiring.
Javobni ko'rish
Internet — kompyuterlarni ulovchi tarmoq infratuzilmasi, Web — uning ustidagi sahifalar xizmati. Misol: telegram xabari internetdan yuradi, lekin Web emas; steam-academy sayti esa Web. Yo’l va avtobus: yo’lda avtobusdan boshqa transport ham bor.
2GET bilan POST qachon ishlatiladi? Ikkalasiga misol keltiring.
Javobni ko'rish
GET — olish uchun: sahifa ochish, rasm yuklash, qidiruv natijasi. POST — yuborish uchun: forma to’ldirish, fikr qoldirish, rasm joylash. Qoidasi oddiy: serverda nimadir o’zgaradimi? O’zgarsa POST, faqat o’qisangiz GET.
3404 va 500 kodlarining farqi nimada? Birinchi raqam nimani aytadi?
Javobni ko'rish
404 — 4 bilan boshlanadi: ayb klientda, noto’g’ri manzil so’radi. 500 — 5 bilan: ayb serverda, uning ichida xato yuz berdi. Manzilni to’g’rilash klientning qo’lida, 500 ni esa faqat sayt egasi tuzata oladi.
4Nega suhbatni doim klient boshlaydi? Server o'zi yangilik 'yuborsa' bo'lmaydimi?
Javobni ko'rish
Klassik HTTP’da server faqat javob beradi — kimga yuborishni ham bilmaydi: klientlar IP’lari o’zgarib turadi, ular orqasida routerlar bor. Shuning uchun bildirishnomalar uchun maxsus usullar o’ylab topilgan: klient o’zi so’rab turadi yoki aloqani ochiq ushlab turadi.
5Simulyatordagi javobda Cache-Control: max-age=3600 sarlavhasi bor edi. Bu nima va qaysi darsni eslatadi?
Javobni ko'rish
Server brauzerga: “bu javobni 1 soat saqlab, qayta so’ramasdan ishlataver” deyapti. Bu 13-darsdagi kesh g’oyasi — endi tarmoq miqyosida: serverga qatnash SSD’dan ham sekin, shuning uchun javoblar yaqinroqda saqlanadi.
Amaliy topshiriq
Brauzerda istalgan saytni oching va DevTools’ga kiring (F12 yoki o’ng tugma → Inspect), Network varag’ini tanlang, sahifani yangilang (F5).
Birinchi qism. Jami nechta so’rov ketdi? Sonini yozing — ehtimol o’nlab. Bitta “sahifa” aslida nechta suhbat ekan!
Ikkinchi qism. Ro’yxatdan uchta so’rovni tanlab jadval tuzing: yo’l, metod, status kod, hajm. Kamida bitta rasm yoki CSS so’rovi bo’lsin.
Uchinchi qism. Birinchi so’rovni bosib, Headers bo’limini oching. Simulyatorda ko’rgan sarlavhalardan nechtasini topa olasiz?
Topshiriladigan natija: so’rovlar soni, 3 qatorli jadval va topilgan sarlavhalar ro’yxati.
Darsni belgilash uchun JavaScript kerak. Bu progressni saqlash uchun ishlatiladi — darslikning o'zi JavaScript'siz ham to'liq o'qiladi.