Iliq HTTPS va iliq VPN: bir xil so'rov yo'lini solishtiring
HTTPS har bir API so'rovida qo'l siqishni amalga oshirmaydi, shuning uchun iliq ulanish va iliq tunnel raqib emas. Tanlashdan oldin bir xil so'rov namunasini solishtiring.
Siz HTTPS har bir API so'rovi uchun yangi TCP ulanishi va yangi TLS qo'l siqishini ochadi, shuning uchun bir soat ochiq turadigan tunnel arzonroq ko'rinadi, deb o'qigan bo'lishingiz mumkin. Buning birinchi yarmi odatda noto'g'ri. Qo'llab-quvvatlanadigan mijoz ko'plab almashinuvlar uchun o'rnatilgan ulanishdan qayta foydalanadi, har bir chaqiruvda yangi mijoz quradigan o'lchov esa himoyani emas, hayot tsiklini o'lchaydi. Bu sahifaning qolgan qismi buning o'rniga nimani o'lchash kerakligini aytadi.
Qayta foydalanish aslida nimani talab qiladi
Barqarorlik HTTP modelining bir qismi, hiyla emas: bitta ulanish bir nechta so'rov va javob almashinuvini tashiydi. Ulanish tomonlardan biri uni yopganda, server band bo'lmagan yoki haddan tashqari yuklangan ulanishni olib tashlaganda, yoki sarlavha yoki protokol qoidasi ulanishdan qayta foydalanib bo'lmasligini aytganda tugaydi. HTTPS bu suhbatni har bir almashinuv uchun yangi qo'l siqishni talab qilmasdan TLS ichiga joylashtiradi. Shuning uchun ikkinchi so'rov, agar orada biror narsa ulanishni tugatmagan bo'lsa, birinchi so'rovning qo'l siqishini takrorlamaydi.
Qayta foydalanishning ilovalar oson buzadigan bitta sharti bor. Ulanishdan qayta foydalanishni rejalashtirgan mijoz javobning butun tanasini o'qishi kerak, yarim yo'lda tashlab ketilgan javob esa ulanishlar hovuzi hech kim sezmasdan yo'qolishining odatiy yo'lidir.
Kutubxonaning qo'llab-quvvatlanadigan mijozi va ulanishlar hovuzining hayot tsiklini tekshiring, hovuz yoqilgan yoki o'chirilgan deb taxmin qilmang. Kelishilgan HTTP versiyasini ham yozib qo'ying, chunki HTTP/2 va HTTP/3 ulanishdan qayta foydalanishni HTTP/1.1 dan boshqacha boshqaradi. Kelishilgan versiyani o'lchovning bir qismi deb biling, pastki izoh deb emas.
Nega solishtirish hayot tsiklini o'lchaydi
Har bir operatsiya uchun yangi mijoz yaratish va uni bir soatdan beri ulangan tunnel bilan solishtirish ulanish o'rnatilishini barqaror holat bilan solishtiradi. Bu qonuniy o'lchov va bu HTTPS ning VPN ga qarshi solishtiruvi emas. Bir xil mijoz konfiguratsiyasi bilan ikkita yugurish xatti-harakatni bittadan yaxshiroq tasvirlaydi, ayniqsa birinchi yugurish hal qiluvchi yoki ulanish keshi isitilganda.
API operatsiyasi, server, hisob va ma'lumotlarni doimiy saqlang, aks holda solishtirish birdan ortiq o'zgaruvchini tashiydi. Taymerni qaerga qo'yishingizni oldindan hal qiling, chunki o'rnatish, TLS muzokaralari, ilova bajarilishi va javob yetkazib berilishi jami summaga turlicha hissa qo'shadi. Birinchi so'rovning bitta taymeri o'rnatishni tavsiflaydi va siz haqiqatda boshqarayotgan barqaror trafik haqida hech narsa demaydi. Taymer chegaralarini raqamlar yoniga yozing.
Sovuq o'rnatishni iliq so'rovlardan ajrating
Birinchi so'rovni keyingilaridan alohida o'lchang. So'ngra xizmat haqiqatda ko'radigan narsani qo'shing: bo'sh davrlar, portlashlar, bir vaqtlilik, javob o'lchami va qayta ulanishlar.
Sertifikat tekshiruvi va HTTPS ni ikkala yo'lda ham yoniq qoldiring, chunki ularni olib tashlash tezroq emas, boshqa xavfsizlik dizaynini o'lchaydi. Agar tunnel marshrutni yoki shlyuz joylashuvini o'zgartirsa, har bir vaqt o'zgarishini shifrlashga bog'lash o'rniga bu farqni alohida xabar qiling, chunki yo'l, yo'qotish va navbat kichik so'rovda ustunlik qilishi mumkin. Xulosa chiqarishdan oldin har bir yo'lni o'sha marshrut bo'ylab ikki marta yugurtiring. Kelishilgan protokol va taymer chegaralarini ikkala yugurish bilan yozib qo'ying.
Yopiladigan ulanishga tayyorlaning
Barqaror abadiy degani emas. Server, proksi yoki tarmoq o'zgarishi bo'sh davrda ulanishni yopishi mumkin, mijoz esa kutubxonasi qo'llab-quvvatlaydigan xatti-harakat orqali tiklanishi kerak. Bu tiklanishning holat mashinasi bor: so'rov serverda tugagan bo'lishi mumkin yoki server uni o'qishdan oldin muvaffaqiyatsiz bo'lgan bo'lishi mumkin, yopiq soket esa chaqiruvchiga qaysi biri sodir bo'lganini aytmaydi. Bu holatda idempotent bo'lmagan operatsiyani shunchaki qayta ijro etib bo'lmaydi, chunki qayta ijro noma'lum natijani ikki marta yozishga aylantiradi. Bu yerda iliq tunnel va iliq ulanish bir xil tutadi, chunki ikkalasi ham ish davom etayotgan paytda muvaffaqiyatsiz bo'lishi mumkin.
Soketni qayta ochadigan sikl o'rniga xizmatning hujjatlashtirilgan qayta urinish yoki idempotentlik mexanizmidan foydalaning. Tiklanishni aniq sinab ko'ring: bo'sh ulanishni yoping va mijoz keyin nima qilishini kuzating. Soketni qayta ochish holatni o'zgartiruvchi chaqiruvni takrorlashni xavfsiz qilmaydi.
Avval chegarani tanlang, keyin sozlang
Tarmoq chegarasini biror narsani optimallashtirishdan oldin kirish va ishonch talablaridan tanlang. VPN o'z tomonlari orasidagi segmentni himoya qiladi, ilovaning oxirgi nuqtalari va tunneldan tashqaridagi har qanday ochiq matn segmenti esa hali ham muhim. So'ngra ulanishning hayot tsiklini shu chegara ichida sozlang. Arzonroq tunnel haqidagi xulosa faqat har bir so'rov qo'l siqishni takrorlaydi degan ishonchdan kelib chiqadi va aynan shu ishonch bu yerda sinovdan o'tkazilmoqda.
RFC 9112 ning barqarorlik bo'limi qayta foydalanish haqiqatda nima va'da qilishiga, shu jumladan ulanishni tugatuvchi shartlarga havoladir. Ularni e'tiborsiz qoldiradigan o'lchovga ishonishdan oldin uni bir marta o'qing.