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 (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 — 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:
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 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:
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'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:
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 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).
| Kod | Nomi | Tavsif | Mijoz harakati |
|---|---|---|---|
| 200 | OK | Muvaffaqiyatli so'rov | Ma'lumotni qayta ishla |
| 201 | Created | Resurs yaratildi | UI ni yangila |
| 301 | Moved Permanently | Resurs yangi URLga ko'chirildi | Koddagi URLni yangila |
| 400 | Bad Request | Noto'g'ri so'rov | Validatsiya xatosini ko'rsat |
| 401 | Unauthorized | Autentifikatsiya talab qilinadi | Kirish sahifasiga yo'naltir |
| 404 | Not Found | Resurs topilmadi | 404 ni ko'rsat |
| 429 | Too Many Requests | So'rovlar limiti oshib ketdi | Kechikish bilan takrorla |
| 500 | Internal Server Error | Server xatosi | Keyinroq 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, 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 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:
<!-- 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 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.
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 — 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 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 — 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
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.