HTTP/HTTPS: bu nima, ma'lumot uzatish protokollari va TLS shifrlash

Muallif: IT Sectr Nashr etilgan: 2026-03-06 O'qish vaqti: 9 daq

HTTP/HTTPS — bu internet va mobil ilovalardagi barcha aloqaning asosini tashkil etuvchi fundamental ma'lumot uzatish protokollaridir. HTTP (HyperText Transfer Protocol) mijoz va server o'rtasidagi so'rov va javoblarning formatini belgilaydi, HTTPS (HTTP Secure) esa bunga TLS (Transport Layer Security) yoki SSL (Secure Sockets Layer) protokollari orqali shifrlashni qo'shadi. Google Transparency Report (2025) ma'lumotlariga ko'ra, dunyodagi barcha veb-trafikning 95% dan ortig'i allaqachon HTTPS dan foydalanadi, Chrome va Safari brauzerlari esa HTTP saytlarini xavfsiz emas deb belgilaydi. HTTP va HTTPS o'rtasidagi farqlarni, so'rov tuzilishi va status kodlarini tushunish — tarmoq so'rovlari bilan ishlaydigan har bir mobil ilova ishlab chiqaruvchisi uchun majburiy minimumdir.

Asosiy fikrlar

  • HTTP — gipermatn va ma'lumotlarni uzatish uchun amaliy qatlam protokoli
  • HTTPS — tinglashdan himoya qiluvchi TLS/SSL shifrlash bilan HTTP
  • HTTP 80-portda, HTTPS 443-portda ishlaydi
  • HTTPS maxfiylik, yaxlitlik va server autentifikatsiyasini ta'minlaydi
  • Zamonaviy versiyalar: HTTP/2 (multiplekslash) va HTTP/3 (QUIC)

HTTP va HTTPS nima?

HTTP (HyperText Transfer Protocol) — World Wide Webda gipermatn hujjatlari va boshqa ma'lumotlarni uzatish uchun mo'ljallangan OSI modelining amaliy qatlam protokolidir. 1989 yilda Tim Berners-Li tomonidan ishlab chiqilgan HTTP bir necha versiyalarni bosib o'tdi: HTTP/0.9 dan (faqat GET so'rovlari va HTML javoblari) zamonaviy HTTP/2 va HTTP/3 gacha. Protokol so'rov-javob sxemasi bo'yicha ishlaydi: mijoz serverga so'rov yuboradi, server uni qayta ishlaydi va javob qaytaradi.

HTTPS (HTTP Secure) — TLS (Transport Layer Security) orqali shifrlash darajasini qo'shadigan HTTP protokolining kengaytmasidir. HTTPS alohida protokol emas — bu HTTP va TLSning kombinatsiyasidir. HTTPS orqali uzatiladigan ma'lumotlar mijoz tomonida shifrlanadi va serverda deshifrlanadi, bu ularni tutib olish va soxtalashtirish uchun imkonsiz qiladi. HTTPS shuningdek SSL/TLS sertifikatlari orqali server autentifikatsiyasini ta'minlaydi, mijozning haqiqiy serverga ulanishini kafolatlaydi.

HTTP va HTTPS o'rtasidagi asosiy farq xavfsizlikdir. HTTP ma'lumotlarni ochiq shaklda uzatadi: mijoz va server o'rtasidagi tarmoqning istalgan tuguni so'rov yoki javob mazmunini o'qishi mumkin. HTTPS barcha mazmunni, jumladan URL, sarlavhalar va so'rov tanasini shifrlaydi, faqat serverning IP manzili va ulanish portini ko'rinadigan qoldiradi. Umumiy Wi-Fi tarmoqlari orqali ishlaydigan mobil ilovalar uchun HTTPS majburiy xavfsizlik talabidir.

HTTP qanday ishlaydi

HTTP — TCP/IP ustida ishlaydigan holatsiz (stateless) protokoldir. Mijoz server bilan TCP aloqasini o'rnatadi (odatda HTTP uchun 80-port yoki HTTPS uchun 443-port), HTTP so'rovini yuboradi, HTTP javobini oladi va aloqani yopadi (HTTP/1.1 da aloqa qayta ishlatilishi mumkin). Mijoz va server o'rtasidagi har bir o'zaro aloqa so'rov va javobdan iborat. Holatsiz bo'lish server mijozning oldingi so'rovlari haqida ma'lumot saqlamasligini anglatadi — har bir so'rov mustaqil ravishda qayta ishlanadi.

HTTP o'zaro aloqa jarayoni quyidagi bosqichlarni o'z ichiga oladi:

  • DNS hal qilish — brauzer yoki mijoz domen nomini DNS orqali IP manziliga aylantiradi
  • TCP qo'l siqish — uch bosqichli qo'l siqish (SYN, SYN-ACK, ACK) orqali TCP aloqasi o'rnatiladi
  • TLS qo'l siqish — HTTPS uchun qo'shimcha ravishda shifrlangan aloqa o'rnatiladi (sertifikat va kalitlar almashinuvi)
  • HTTP so'rovi — mijoz metod, URL, sarlavhalar va ixtiyoriy ravishda so'rov tanasini yuboradi
  • HTTP javobi — server status kodi, sarlavhalar va javob tanasini qaytaradi

HTTPning muhim xususiyati — metodlarning idempotentligi. GET, HEAD, PUT, DELETE va OPTIONS idempotentdir: bir xil so'rovning takroriy bajarilishi birinchi bajarilishdan keyin server holatini o'zgartirmaydi. POST, PATCH va CONNECT idempotent emas — har bir chaqiruv yangi resurs yaratishi yoki holatni o'zgartirishi mumkin. Mobil ishlanma uchun idempotentlikni tushunish juda muhim: tarmoq xatosi tufayli so'rovni qayta yuborishda mijoz so'rovni takrorlash xavfsiz yoki yo'qligini bilishi kerak.

HTTPS va TLS shifrlash

HTTPS uzatiladigan ma'lumotlarni himoya qilish uchun TLS (Transport Layer Security) kriptografik protokolidan foydalanadi. TLS — 1995 yilda Netscape kompaniyasi tomonidan ishlab chiqilgan SSLning (Secure Sockets Layer) vorisidir. SSL 2.0 va 3.0 versiyalari eskirgan va xavfsiz emas deb hisoblanadi; TLS 1.2 (2008 yilda chiqarilgan) va TLS 1.3 (2018 yilda chiqarilgan) zamonaviy versiyalari hamma joyda qo'llaniladi. TLS 1.3, ayniqsa, ulanish o'rnatish vaqtini 2 round-trips dan 1 ga qisqartiradi, bu mobil qurilmalarda yuklashni sezilarli darajada tezlashtiradi.

TLS qo'l siqish (handshake) jarayoni quyidagi bosqichlarni o'z ichiga oladi:

  • Client Hello — mijoz qo'llab-quvvatlanadigan TLS versiyalari va shifrlar to'plami ro'yxatini yuboradi
  • Server Hello — server TLS versiyasi va shifrlar to'plamini tanlaydi, o'z SSL/TLS sertifikatini yuboradi
  • Sertifikatni tekshirish — mijoz server sertifikatini ildiz CAgacha ishonch zanjiri orqali tekshiradi
  • Kalit almashinuvi — mijoz va server umumiy maxfiy kalit (seans kaliti) yaratadi
  • Switch Cipher — ikkala tomon shifrlangan aloqaga o'tishni tasdiqlaydi

SSL/TLS sertifikatini tekshirish — xavfsizlik uchun muhim bosqichdir. Mijoz sertifikatning: muddati tugamaganligini, ishonchli sertifikat markazi (CA) tomonidan imzolanganligini, URLdagi domenga mos kelishini va bekor qilinmaganligini (CRL yoki OCSP orqali) tekshiradi. Mobil ilovalarda Certificate Pinning — ma'lum sertifikatga yoki serverning ochiq kalitiga bog'lanish tavsiya etiladi. Bu CA kompromitatsiyasi holatida ham MITM hujumlarining oldini oladi. Biroq pinning ehtiyotkorlikni talab qiladi: sertifikat o'zgartirilganda ilova oldindan yangilanishi kerak.

HTTP so'rov va javob tuzilishi

HTTP so'rovi uch qismdan iborat: boshlang'ich qator (request line), sarlavhalar (headers) va ixtiyoriy tana (body). Boshlang'ich qator HTTP metodini, so'rov URLini va HTTP versiyasini o'z ichiga oladi. Sarlavhalar meta-ma'lumotni uzatadi: kontent turi, autentifikatsiya tokenlari, keshlash sozlamalari. Tana faqat ma'lumot uzatuvchi metodlarda (POST, PUT, PATCH) mavjud va GET va DELETEda yo'q.

REST API ga HTTP so'roviga misol:

js
POST /api/v1/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Cache-Control: no-cache

{
    "name": "Anna",
    "email": "anna@example.com"
}

HTTP javobi o'xshash tuzilishga ega: HTTP versiyasi va status kodi bilan boshlang'ich qator, sarlavhalar va tana. Status kodi — so'rovni qayta ishlash natijasini belgilaydigan uch xonali raqam. Javob sarlavhalari Content-Type, Content-Length, Cache-Control, Set-Cookie va boshqalarni o'z ichiga oladi. Javob tanasi Content-Typeda ko'rsatilgan formatda so'ralgan ma'lumotlarni o'z ichiga oladi (odatda API uchun JSON, veb-sahifalar uchun HTML, media kontent uchun rasmlar).

Sarlavhalar HTTP ishida muhim rol o'ynaydi. Content-Type va Accept ma'lumot formatini boshqaradi. Authorization kirish tokenlarini uzatadi. Cache-Control keshlashni boshqaradi. CORS sarlavhalari (Access-Control-Allow-Origin) brauzerlarda boshqa domenlardan kirishni nazorat qiladi. User-Agent mijoz ilovasini identifikatsiya qiladi. Mobil ilovalar uchun keshlashni boshqarish sarlavhalari ayniqsa muhimdir — ular uzatiladigan ma'lumotlar hajmini kamaytirish va zaif signalda ishlashni yaxshilash imkonini beradi.

HTTP status kodlari

HTTP status kodlari birinchi raqam bilan ko'rsatilgan besh sinfga guruhlanadi: 1xx (axborot), 2xx (muvaffaqiyat), 3xx (qayta yo'naltirish), 4xx (mijoz xatosi), 5xx (server xatosi). Ushbu kodlarni tushunish mobil ilovada javoblarni to'g'ri qayta ishlash uchun zarur: 2xx muvaffaqiyatni anglatadi va ma'lumotlarni ko'rsatish mumkin, 4xx so'rovdagi muammoni ko'rsatadi (foydalanuvchiga xatolik ko'rsatilishi kerak), 5xx serverdagi muammoni ko'rsatadi (so'rov keyinroq takrorlanishi kerak).

KodNomiTavsifMijoz harakati
200OKMuvaffaqiyatli so'rovMa'lumotni qayta ishla
201CreatedResurs yaratildiUI ni yangila
301Moved PermanentlyResurs yangi URLga ko'chirildiKoddagi URLni yangila
400Bad RequestNoto'g'ri so'rovValidatsiya xatosini ko'rsat
401UnauthorizedAutentifikatsiya talab qilinadiKirish sahifasiga yo'naltir
404Not FoundResurs topilmadi404 ni ko'rsat
429Too Many RequestsSo'rovlar limiti oshib ketdiKechikish bilan takrorla
500Internal Server ErrorServer xatosiKeyinroq takrorla

Mobil ilovalar uchun 401 Unauthorized kodini qayta ishlash alohida ahamiyatga ega. Ushbu kodni olgandan so'ng, mijoz Refresh Token orqali kirish tokenini yangilashga harakat qilishi va asl so'rovni takrorlashi kerak. Agar tokenni yangilash ham 401 qaytarsa, foydalanuvchi kirish ekraniga yo'naltirilishi kerak. Bu mantiq odatda Interceptor (OkHttp) yoki tarmoq mijozining middleware qatlamida amalga oshiriladi.

HTTP/1.1, HTTP/2 va HTTP/3

HTTP/1.1, 1999 yilda nashr etilgan, hali ham keng qo'llaniladigan protokol versiyasidir. Uning asosiy kamchiligi — head-of-line blocking: bir serverga so'rovlar ketma-ket bajariladi, har bir keyingisi oldingisining tugashini kutadi. Ushbu cheklovni chetlab o'tish uchun brauzerlar bir domenga 6–8 parallel TCP aloqasini ochadi, bu server yukini va xotira sarfini oshiradi. HTTP/1.1 shuningdek sarlavhalarni shifrlanmagan shaklda uzatadi va server pushni qo'llab-quvvatlamaydi.

HTTP/2 (2015) multiplekslash orqali bloklash muammosini hal qiladi — ko'plab ma'lumot oqimlari bir TCP aloqasi orqali bir vaqtning o'zida uzatiladi. Server mijoz so'ramasdan oldin resurslarni yuborishi mumkin (server push). HTTP/2 shuningdek HPACK orqali sarlavhalarni siqadi, bu uzatiladigan ma'lumotlar hajmini kamaytiradi. Mobil ilovalar uchun HTTP/2 ayniqsa foydali: bitta aloqa bir nechtasini almashtiradi, TLS qo'l siqish vaqtini va batareya sarfini kamaytiradi.

HTTP/3 (2022) — TCP o'rniga QUIC (Quick UDP Internet Connections) ishlatadigan protokolning eng so'nggi versiyasidir. QUIC UDP ustida ishlaydi, transport protokoli darajasida head-of-line blocking muammosini bartaraf etadi. HTTP/3 ulanish o'rnatish vaqtini eng yaxshi holatda 0 round-trips ga (qayta ulanishlarda) va birinchi ulanishda 1 round-trip ga qisqartiradi, bu 2–3 round-trips bo'lgan HTTP/2 dan sezilarli darajada tezroq. Mobil qurilmalar uchun HTTP/3 Wi-Fi va mobil tarmoq o'rtasida o'tishda ayniqsa samarali – QUIC IP manzil emas, balki ulanish identifikatoridan foydalangani uchun aloqa uzilmaydi.

Mobil ishlanmada HTTPS

Mobil ilovalarda HTTPS dan foydalanish — tavsiya emas, balki majburiy talabdir. Android 9 (API 28) va iOS 9 (ATS — App Transport Security) dan boshlab, barcha tarmoq so'rovlari sukut bo'yicha HTTPS dan foydalanishi kerak. HTTP so'rovlari tizim tomonidan bloklanadi va ularga ruxsat berish uchun ilova konfiguratsiyasida aniq istisno talab qilinadi. Google Play Store va App Store parollar, tokenlar va shaxsiy ma'lumotlar kabi maxfiy ma'lumotlarni HTTP orqali uzatadigan ilovalarni rad etadi.

Androidda mobil ilovada HTTPS konfiguratsiyasi quyidagilarni o'z ichiga oladi:

xml
<!-- AndroidManifest.xml — tarmoq so’rovlariga ruxsat -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- network_security_config.xml — HTTPS konfiguratsiyasi -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">api.example.com</domain>
        <pin-set expiration="2027-12-31">
            <pin digest="SHA-256">rDjsFv3bGf...</pin>
        </pin-set>
    </domain-config>
</network-security-config>

iOS da o'xshash konfiguratsiya NSAppTransportSecurity kaliti bilan Info.plist orqali amalga oshiriladi. Mobil ilovalarda HTTPS trafigini tuzatish uchun proksi vositalaridan foydalaniladi: Charles Proxy, Proxyman yoki mitmproxy. Ular qurilmada ishonchli SSL sertifikatini o'rnatishni talab qiladi. Ishlab chiqarish versiyalarida tuzatish imkoniyatini o'chirish va Certificate Pinning to'g'ri sozlanganligini tekshirish kerak. Android da OkHttp ning CertificatePinner yoki iOS da TrustManager bilan SecTrustEvaluate ishlatish — pinningni amalga oshirish uchun standart yondashuvlardir.

Mobil ishlanmada HTTPS xavfsizligining muhim jihati — SSL Pinning. Pinningsiz ilova taniqli CA tomonidan imzolangan har qanday sertifikatga ishonadi. Agar CA buzilgan bo'lsa, tajovuzkor ilova trafigini tutib olishi mumkin. Pinning ilovani ma'lum bir sertifikatga yoki serverning ochiq kalitiga bog'laydi. Serverda sertifikat o'zgartirilganda ilova yangilanishi chiqarilishi kerak, shuning uchun pinning zaxira bilan rejalashtiriladi — yuqori CA sertifikatiga bog'lanadi yoki bir nechta zaxira kalitlardan foydalaniladi.

Ko'p beriladigan savollar

HTTP va HTTPS o'rtasidagi farq nima?

HTTP ma'lumotlarni ochiq shaklda uzatadi, HTTPS trafikni TLS/SSL orqali shifrlaydi. HTTPS 443-portdan, HTTP 80-portdan foydalanadi. HTTPS SSL sertifikatini talab qiladi va maxfiylik, yaxlitlik va server autentifikatsiyasini ta'minlaydi.

Mobil ilovada HTTPS dan foydalanish majburiymi?

Ha, Android 9 va iOS 9 dan boshlab HTTPS sukut bo'yicha majburiydir. HTTP so'rovlari konfiguratsiyada aniq ruxsat berilmagan bo'lsa, tizim tomonidan bloklanadi. Ilova do'konlari maxfiy ma'lumotlar bilan barcha tarmoq so'rovlari uchun HTTPS talab qiladi.

SSL sertifikati nima va uni qanday olish mumkin?

SSL sertifikati — serverning haqiqiyligini tasdiqlovchi raqamli hujjatdir. Sertifikat markazlari (CA) tomonidan beriladi: Let’s Encrypt (bepul), Sectigo, DigiCert. Ishlanma uchun o'z-o'zidan imzolangan sertifikatdan foydalanish mumkin.

HTTP/2 HTTP/1.1 dan qanday farq qiladi?

HTTP/2 multiplekslashni (bir TCP aloqasi orqali bir nechta so'rovlarni), sarlavha siqishni (HPACK) va server pushni qo'llab-quvvatlaydi. HTTP/1.1 dan farqli o'laroq, so'rovlar bir-birini bloklaydi (head-of-line blocking), HTTP/2 ma'lumotlarni parallel yuboradi.

Certificate Pinning nima va qachon ishlatiladi?

Certificate Pinning — ilova faqat ma'lum sertifikatga yoki ochiq kalitga ishonadigan xavfsizlik texnikasidir. Yuqori xavfsizlik talablari bo'lgan ilovalar uchun tavsiya etiladi (bank ishi, to'lovlar, tibbiy ma'lumotlar).

Xulosa

  • HTTP — vebda ma'lumot uzatish uchun amaliy qatlam protokoli, TCP/IP ustida ishlaydi
  • HTTPS — HTTP + TLS shifrlash, maxfiylik va autentifikatsiyani ta'minlaydi
  • HTTP 80-portda, HTTPS 443-portda ishlaydi
  • Status kodlari: 2xx (muvaffaqiyat), 3xx (qayta yo'naltirish), 4xx (mijoz xatosi), 5xx (server xatosi)
  • HTTP/2 multiplekslash va sarlavha siqishni qo'shadi, HTTP/3 UDP ustida QUIC dan foydalanadi
  • Mobil ilovalar uchun HTTPS majburiy Android 9 va iOS 9 dan boshlab
  • Certificate Pinning ma'lum server sertifikatiga bog'lanish orqali MITM hujumlaridan himoya qiladi

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing