Domen, DNS, hosting va deploy

Server darsida sayt internetdagi xizmatda ishlashini ko’rdik. Endi uchta tez-tez aralashadigan tushunchani ajratamiz: domen, DNS va hosting. Ular bir-biriga bog’liq, ammo bir xil narsa emas.
Domen — esda qoladigan nom
Domen — foydalanuvchi brauzerga yozadigan nom, masalan learncode.uz.
Kompyuterlar tarmoqda xizmatlarni IP manzil yoki boshqa texnik yo’nalishlar
orqali topadi, odamlar esa domenni osonroq eslab qoladi.
Domen bir necha qismga bo’linadi:
.uz— yuqori darajali domen;learncode— ro’yxatdan o’tkazilgan asosiy nom;wwwyokiapi— ixtiyoriy subdomen.
Masalan, api.learncode.uz alohida API xizmatiga, docs.learncode.uz esa
hujjatlar saytiga yo’naltirilishi mumkin. Bularning barchasi bir tashkilotga
tegishli bo’lsa ham, turli server yoki platformada ishlashi mumkin.
DNS — nomni kerakli xizmatga yo’naltiradi
DNS (Domain Name System) — domen haqidagi yozuvlarni saqlaydigan tarqalgan tizim. Brauzer domenni ochganda, qurilma DNS resolver’dan shu nom uchun kerakli yo’nalishni so’raydi.
Jarayon soddalashtirib shunday:
- Brauzer yoki operatsion tizim avval lokal cache’ni tekshiradi.
- Javob bo’lmasa, sozlangan DNS resolver’ga murojaat qiladi.
- Resolver kerakli DNS serverlaridan yozuvni topadi.
- IP manzil yoki boshqa xizmat nomi brauzerga qaytariladi.
- Brauzer topilgan xizmat bilan tarmoq ulanishini boshlaydi.

Keng tarqalgan yozuvlar:
| Yozuv | Vazifasi |
|---|---|
A |
Domenni IPv4 manzilga bog’laydi |
AAAA |
Domenni IPv6 manzilga bog’laydi |
CNAME |
Bir nomni boshqa domen nomiga yo’naltiradi |
MX |
Domenning elektron pochta serverlarini ko’rsatadi |
TXT |
Tasdiqlash va xavfsizlik uchun matnli ma’lumot saqlaydi |
Hosting — kod ishlaydigan muhit
Hosting — sayt fayllari yoki server dasturi internetdan ochiq ishlaydigan muhit. Oddiy statik sayt HTML, CSS, JavaScript va rasmlardan iborat bo’lishi mumkin. Dinamik loyiha esa server kodi, ma’lumotlar bazasi, maxfiy muhit o’zgaruvchilari va boshqa xizmatlarni talab qiladi.
Hostingning bir nechta ko’rinishi bor:
- statik hosting — tayyor fayllarni CDN orqali tarqatadi;
- platforma xizmati — kodni build qilib, deploy va HTTPSni boshqaradi;
- virtual server — operatsion tizim va serverni ko’proq o’zingiz sozlaysiz;
- serverless funksiya — kod so’rov kelganda alohida funksiya sifatida ishlaydi.
Deploy qanday bajariladi
Deploy — lokal kompyuterdagi tayyor o’zgarishni foydalanuvchilar ko’ra oladigan muhitga chiqarish jarayoni. Zamonaviy oqim ko’pincha shunday:
- Dasturchi kodni Git repozitoriyga yuboradi.
- Hosting platformasi yangi commitni aniqlaydi.
- Bog’liqliklarni o’rnatadi, test va build buyruqlarini bajaradi.
- Tayyor fayllar yoki server dasturini joylashtiradi.
- Domen yangi versiyaga yo’naltiriladi va sog’liq tekshiruvi bajariladi.

Qisqacha xulosa
- Domen — foydalanuvchi eslab qoladigan nom.
- DNS domenni IP manzil, CDN yoki boshqa xizmatga yo’naltiradi.
- Hosting sayt fayllari va server kodi ishlaydigan muhitdir.
- Deploy kodni build va tekshiruvdan o’tkazib, hostingga chiqaradi.
- DNS cache sabab yozuv o’zgarishi hamma joyda darhol ko’rinmasligi mumkin.
- Maxfiy kalitlar Git’da emas, hostingning xavfsiz sozlamasida saqlanadi.
Keyingi darsda HTTPS va web xavfsizligi — saytni faqat ishlaydigan emas, ishonchli qilish asoslarini ko’ramiz.