WikiDer > HTTP quvur liniyasi

HTTP pipelining
Quvursiz va quvurli ulanishning vaqt diagrammasi

HTTP quvur liniyasi bu bir nechta bo'lgan texnikadir HTTP so'rovlar bitta raqamda yuboriladi TCP (uzatishni boshqarish protokoli) tegishli javoblarni kutmasdan ulanish.[1]

Texnika orqali multiplekslash orqali almashtirildi HTTP / 2,[2] aksariyat zamonaviy brauzerlar tomonidan qo'llab-quvvatlanadi.[3]

2018 yildan boshlab, HTTP quvur liniyasi zamonaviy brauzerlarda sukut bo'yicha yoqilmagan, chunki bir nechta muammolar, shu jumladan buggy proksi-serverlar va HOL blokirovkasi.[2]

Motivatsiya va cheklovlar

So'rovlarni quvurlar orqali uzatish keskin yaxshilanishga olib keladi[4] HTML-sahifalarni yuklash vaqtlarida, ayniqsa yuqori darajada kechikish kabi ulanishlar sun'iy yo'ldosh Internet aloqalari. Kengaytirilgan tarmoqli ulanishlarda tezlashtirish unchalik sezilmaydi, chunki HTTP 1.1 ning cheklovi hanuzgacha amal qiladi: server o'z javoblarini so'rovlar qabul qilingan tartibda yuborishi kerak - shuning uchun barcha ulanish qoladi birinchi-birinchi-tashqarida[1] va HOL blokirovkasi sodir bo'lishi mumkin. Ning asenkron ishlashi HTTP / 2 va SPDY Buning echimlari.[5] Brauzerlar oxir-oqibat sukut bo'yicha truboprovodni yoqishmadi va 2017 yilga kelib ko'pchilik brauzerlar sukut bo'yicha HTTP / 2-ni qo'llab-quvvatladilar, buning o'rniga multiplekslash ishlatildi.[2]

Yo'qidempotent foydalanadiganlar kabi so'rovlar POST, truboprovod qilinmasligi kerak.[6] GET va HEAD so'rovlarining ketma-ketligi har doim quvurli bo'lishi mumkin. PUT va DELETE kabi boshqa idempotent so'rovlar ketma-ketligi liniyali bo'lishi mumkin yoki ketma-ketlikdagi so'rovlar boshqalarning ta'siriga bog'liqligiga bog'liq emas.[1]

HTTP truboprovodidan mijoz ham, server ham uni qo'llab-quvvatlashni talab qiladi. HTTP / 1.1 quvur liniyasini qo'llab-quvvatlash uchun mos serverlar talab qilinadi. Bu shuni anglatadiki, serverlar quvur liniyasi javoblarini talab qilishadi, lekin agar mijoz quvur liniyasi so'rovlarini tanlasa, ular ishlamay qolmasligi kerak.[7]

Amalga oshirish holati

Quvur liniyasi HTTP / 1.1 da joriy qilingan va HTTP / 1.0 da bo'lmagan.[8]

Veb-serverlarda amalga oshirish

Quvur liniyasini amalga oshirish veb-serverlar so'rovlar orasida tarmoq buferlari tashlanmasligiga ishonch hosil qilish nisbatan oddiy masala. Shu sababli, ko'pgina zamonaviy veb-serverlar quvurlarni uzatish bilan hech qanday muammosiz shug'ullanishadi.

Veb-brauzerlarda amalga oshirish

Barcha yirik brauzerlardan faqat Opera asoslangan Presto layout engine sukut bo'yicha yoqilgan to'liq ishlaydigan dasturga ega edi. Boshqa barcha brauzerlarda HTTP quvur liniyasi o'chirilgan yoki amalga oshirilmagan.[5]

  • Internet Explorer 8 buggy proksi-serverlari bilan bog'liq xavotirlar tufayli quvur liniyasini talab qilmaydi chiziqni blokirovka qilish.[9]
  • Internet Explorer 11 truboprovodni qo'llab-quvvatlamaydi. [10]
  • Mozilla brauzerlari (masalan Mozilla Firefox, SeaMonkey va Camino) truboprovodni qo'llab-quvvatlash; ammo, u sukut bo'yicha o'chirilgan.[11][12] Noto'g'ri xatti-harakatlar serverlarida muammo yuzaga kelmasligi uchun quvur liniyasi sukut bo'yicha o'chirib qo'yilgan.[13] Quvur liniyasi yoqilganda, Mozilla brauzerlari ba'zi bir evristikadan foydalanadilar, ayniqsa, quvurlarni katta yoshdagilar uchun o'chirib qo'yish uchun IIS serverlar.[14] H1 quvurini qo'llab-quvvatlash Mozilla Firefox-dan 54-versiyada o'chirildi.[15]
  • Konqueror 2.0 truboprovodni qo'llab-quvvatlaydi, ammo sukut bo'yicha o'chirib qo'yilgan.[iqtibos kerak]
  • Gugl xrom ilgari quvur liniyasini qo'llab-quvvatlagan, ammo xatolar va yomon ishlaydigan serverlar muammolari tufayli o'chirib qo'yilgan.[16]
  • Pale Moon (veb-brauzer) truboprovodni qo'llab-quvvatlaydi va sukut bo'yicha yoqilgan[17]

Veb-proksi-serverlarda amalga oshirish

Ko'pgina HTTP proksi-serverlari chiquvchi so'rovlarni o'tkazmaydilar.[18]

Ning ba'zi versiyalari Kalmar veb-proksi-server ikkita chiquvchi so'rovni yuboradi. Ushbu funktsiya sukut bo'yicha o'chirib qo'yilgan va uni "tarmoqli kengligi boshqaruvi va kirishni qayd etish sabablari" uchun qo'lda yoqish kerak.[19] Squid mijozlarning bir nechta so'rovlarini qo'llab-quvvatlaydi.

The Polipo chiquvchi so'rovlar proksi quvurlari.[20]

Tempesta FW, ochiq manba dasturni etkazib beruvchisi,[21] shuningdek, backend serverlariga quvur liniyalari so'rovlari.[22]

Boshqa dasturlar

The libwww kutubxona tomonidan qilingan Butunjahon Internet tarmog'idagi konsortsium (W3C), 1997 yil 18-fevralda chiqarilgan 5.1 versiyasidan beri truboprovodni qo'llab-quvvatlaydi.[23]

HTTP quvur liniyasini qo'llab-quvvatlaydigan boshqa dasturlarni ishlab chiqish kutubxonalariga quyidagilar kiradi:

  • HTTP quvur liniyasi uchun mijozlarni qo'llab-quvvatlovchi Perl modullari HTTP :: Async va LWPng (libwww-perl Yangi avlod) kutubxonasi.[24]
  • Apache fondi loyiha HttpKomponentlari HttpCore NIO kengaytmalarida quvurlarni qo'llab-quvvatlashni ta'minlaydi.
  • Microsoft .NET Framework 3.5 modulda HTTP quvurlarini qo'llab-quvvatlaydi System.Net.HttpWebRequest.[25]
  • Qt sinf QNetworkRequest, 4.4 da kiritilgan.[26]

Hozirgi vaqtda quvur liniyalaridan foydalanadigan ba'zi boshqa ilovalar:

Ko'p qismli XHR bu faqat JavaScript-da server tomonidagi skript bilan birgalikda amalga oshirilgan (hech qanday brauzer va veb-server yordamisiz) quvurlarni amalga oshirishdir.[iqtibos kerak]

HTTP quvurlarini qo'llab-quvvatlaydigan sinov vositalariga quyidagilar kiradi.

Shuningdek qarang

Adabiyotlar

  1. ^ a b v "Gipermatnli uzatish protokoli (HTTP / 1.1): xabar sintaksisi va marshrutizatsiyasi". ietf.org. Olingan 2014-07-24.
  2. ^ a b v "Revizyon 1330814 | HTTP / 1.x | MDN da ulanishni boshqarish". MDN veb-hujjatlari. Olingan 2018-03-19.
  3. ^ "HTTP2 brauzerini qo'llab-quvvatlash". Olingan 9 mart, 2017.
  4. ^ Nilsen, Henrik Fristik; Gettys, Jim; Berd-Smit, Anselm; Prud'ommeaux, Erik; Yolg'on, Xekon Vium; Lilley, Kris (1997 yil 24-iyun). "HTTP / 1.1, CSS1 va PNG-ning ishlash samaradorligi". Butunjahon Internet tarmog'idagi konsortsium. Olingan 14 yanvar 2010.
  5. ^ a b Uillis, Natan (2009 yil 18-noyabr). "SPDY bilan HTTP kechikishini kamaytirish". LWN.net.
  6. ^ "Aloqalar". w3.org.
  7. ^ "HTTP / 1.1 Quvurlarni etkazib berish bo'yicha savollar'".
  8. ^ "Arxivlangan nusxa". Arxivlandi asl nusxasi 2016-04-24 da. Olingan 2016-04-16.CS1 maint: nom sifatida arxivlangan nusxa (havola)
  9. ^ "Windows Internet Explorer 8 Expert Zone Chat-ning Wayback havolasi (2008 yil 14-avgust)'". Microsoft. 2008 yil 14-avgust. Arxivlangan asl nusxasi 2010 yil 4 dekabrda. Olingan 10 may, 2012.
  10. ^ "Internet Explorer va ulanish cheklovlari". IEBlog. Olingan 2016-11-14.
  11. ^ Quvurlar tarmog'i MozillaZine
  12. ^ Cheah Chu Yeow. Firefox sirlari. p.180. ISBN 0-9752402-4-2.
  13. ^ "Xato 264354: sukut bo'yicha HTTP quvur liniyasini yoqish". Mozilla. Olingan 16 sentyabr, 2011.
  14. ^ "Manba kodi - nsHttpConnection.cpp". Firefox manba kodi. Mozilla. 2010 yil 7-may. Olingan 5 dekabr, 2010.
  15. ^ "Xato 1340655: H1 quvur liniyasini qo'llab-quvvatlashni olib tashlang". Mozilla. Olingan 22 mart, 2017.
  16. ^ HTTP quvur liniyasi - Xrom loyihalari
  17. ^ "Firefox 54 - Pale Moon forumida HTTP / 1 quvur liniyasini qo'llab-quvvatlash o'chirildi". forum.palemoon.org. Olingan 2018-06-07.
  18. ^ Mark Nottingem (2007 yil 20-iyun). "Proksiyani keshlash holati". Olingan 16 may, 2009.
  19. ^ "squid: pipe_prefetch konfiguratsiya ko'rsatmasi". Kalmar. 2009 yil 9-noyabr. Olingan 1 dekabr, 2009.
  20. ^ "Polipo - keshlash veb-proksi-server". Julius Chroboczek. 2009 yil 18 sentyabr. Olingan 12-noyabr, 2009.
  21. ^ "Tempesta FW - Linux dasturini etkazib beruvchisi". GitHub. Olingan 29 mart, 2018.
  22. ^ "Serverlar: Tempesta tomoni - tempesta-tech / tempesta Wiki". Tempesta Technologies INC.2017 yil 1-avgust. Olingan 29 mart, 2018.
  23. ^ Kahan, Xose (2002 yil 7-iyun). "Libvwww tarixini o'zgartirish". Butunjahon Internet tarmog'idagi konsortsium. Olingan 3 avgust, 2010.
  24. ^ "Parallel HTTP so'rovlari uchun HTTP :: Async-dan foydalanish (Colin Bradford)" (PDF). Arxivlandi asl nusxasi (PDF) 2012-03-10. Olingan 2010-08-03.
  25. ^ System.Net.HttpWebRequest & quvur liniyasi
  26. ^ QNetworkRequest sinf ma'lumotnomasi Arxivlandi 2009-12-22 da Orqaga qaytish mashinasi, Nokia QT hujjatlari
  27. ^ Quvurli HTTP GET yordam dasturi
  28. ^ Curl quvurlari bo'yicha tushuntirish Arxivlandi 2012-06-27 da Orqaga qaytish mashinasi, Curl ishlab chiquvchilarining hujjatlari
  29. ^ S Maykl Pilato; Ben Kollinz-Sussman; Brayan V.Fitspatrik (2008). Subversion bilan versiyani boshqarish. O'Reilly Media. p. 238. ISBN 0-596-51033-0.
  30. ^ Justin R. Erenkrantz (2007). "Subversion: Kuchli yangi o'yinchoqlar" (PDF).
  31. ^ "HTTP / HTTPS xabarlari". Microsoft TechNet. 2005 yil 21 yanvar.
  32. ^ CICS veb-ko'magi quvurlarni boshqarish bilan qanday shug'ullanadi
  33. ^ "HTTP veb-sayti". Arxivlandi asl nusxasi 2012-06-08 da. Olingan 2010-10-01.

Tashqi havolalar