همه چیز در مورد HTTP 3 – از صفر تا صد


HTTP 3 به زودی منتشر خواهد شد. در این نوشته به بررسی مشخصات این نسخه و همچنین تاریخچه کلی HTTP خواهیم پرداخت.
HTTP چیست؟
پروتکل HTTP اختصاری برای عبارت «پروتکل انتقال ابرمتن» (Hypertext Transfer Protocol) است.
این پروتکل به مجموعهای از قواعد گفته میشود که برای تحویل صفحههای وب از سرورها به مرورگرها مورد استفاده قرار میگیرند. HTTPS همین پروتکل است که روی یک لایه رمزگذاریشده برای ارتقای حریم خصوصی عرضه میشود.
آن دسته از افرادی که با استاندارد OSI یعنی «ارتباطهای متقابل سیستمهای باز» (Open Systems Interconnections) در زمینه شبکه/مخابرات آشنا هستند، میدانند که HTTP یک پروتکل لایهی اپلیکیشن محسوب میشود. معنی این حرف آن است که HTTP هیچ ارتباطی با زیرساختهای سختافزاری زیربنایی یا رسانه ندارد. این امر موجب بهبود و ارتقای استاندارد HTTP از طریق افزایش پهنای باند میشود. در ادامه این مسئله را بیشتر توضیح میدهیم.
HTTP یک پروتکل کلاینت-سرور است که در آن درخواستها از سوی یک موجودیت ارسال میشوند که عموماً «User-Agent» یا یک واسطه به نیابت از او است. در اغلب موارد «User-Agent» یک «مرورگر وب» (Web browser) است، اما میتواند هر چیزی از جمله یک ربات که وب را جستجو میکند تا اندیسهای یک موتور جستجو را تشکیل دهند نیز باشد.
در این تعریف منظور از کلاینت همان «User-Agent» است. این کاربر میتواند یک مرورگر، یک برنامه یا هر چیزی باشد که با استفاده از پروتکل HTTP یک فراخوانی به سرور ارسال میکند. در ادامه وب سرور وظیفه تحویل محتوای مورد درخواست را بر عهده دارد. واسطهها (proxies) ارتباط بین وبسرور و کاربران را هماهنگ میکنند.
کارکرد واسطهها به شرح زیر است:
- کش کردن
- فیلتر کردن (پنهانسازی محتوای بزرگسالان یا بر اساس مکان)
- متعادلسازی بار (به کاربران امکان میدهد که با سرورهای مختلف ارتباط بگیرند)
- احراز هویت (به کاربران امکان میدهد که با سرورهای مختلف ارتباط بگیرند)
- لاگ کردن (لاگ HTTP برای شناسایی ناهنجاری و غیره مفید است)
در HTTP 1 (یا 1.1) این وظایف به طرز مناسبی اجرا میشدند، اما در سال 2009 پروتکل جدیدتری به نام HTTP 2 معرفی شد.
HTTP 2
HTTP 2 به منظور رفع برخی نواقصی که HTTP 1 داشت عرضه شد و به این ترتیب برخی مزیتها از نظر فناوریهای شبکه و پهنای باند به شرح زیر دارد:
- امکان اجرای مالتیپلکسینگ وجود دارد. درخواستهای همزمان از طریق یک اتصال TCP منفرد ارسال میشوند و به این ترتیب میتوان منابع را به صورت همزمان بارگذاری کرد.
- به مرورگر امکان میدهد که محتواهایی که باید زودتر واکشی شوند تا صفحه وب سریعتر بارگذاری شود را اولویتبندی کند. به این ترتیب کاربر حس میکند که صفحه وب سریعتر باز شده است.
- وزن هدر HTTP کاهش یافته است.
- امکان Server push به سرورها امکان میدهد که منبع را پیش از آن که از سوی مرورگر وب تقاضا شوند، ارسال کند. به این ترتیب گردش کار مورد نیاز برای تحلیل HTML و واکشی مجدد محتوا درون HTML بسیار کوتاهتر میشود.
HTTP 2 تجربه وب سریعتر و امنی را رقم میزند، زیرا رمزگذاری HTTP به صورت پیشفرض الزامی است.
نسخه جدید HTTP 3
HTTP 3 به زودی عرضه خواهد شد. اما توجه کنید که برخی از وبسیاتهای بزرگ مانند یوتیوب روی مرورگر کروم هم اینک از این نسخه از HTTP بهره میگیرند.
تازههای HTTP 3
این استاندارد جدید نوید یک تجربه وب سریعتر و با امنیت بیشتر را به ما میدهد. HTTP 3 به منظور سادهسازی فرایند TCP handshake طراحی شده است. این فرایند هم اینک سه مرحله دارد. در نتیجه ارتباطها با استفاده از پروتکل QUIC سریعتر برقرار میشوند.
این برقراری بهتر ارتباط موجب میشود که در زمان تغییر ارتباط از وایفای به دیتا و غیره شاهد تجربه بهتر و سریعتری باشیم. توجه کنید که این تغییر شبکه از جنس تغییرهای روترهای درون یک شبکه منفرد نیست و فرایندی بسیار پیچیدهتر دارد.
در نهایت نسخه جدید HTTP موجب خواهد شد که دیگر شاهد شروع کُند TCP نیز نباشیم و از این رو سرعتهای بالای بیدرنگی را فراهم میسازد. این مسئله در شبکههای 5G اهمیت زیادی دارد. دیگر مجبور نیستیم منتظر باشیم تا سرعت از 10Mbps به 1.5Gbps افزایش یابد. این مسئله برای تجربه بهتر در روند بازی در پلتفرمهایی مانند Stadia از اهمیت بالایی برخوردار است.
این مسئله در مورد یوتیوب موجب میشود که سرعت بسیار بالایی داشته باشد و از همان آغاز با کیفیت HD بدون بافرینگ پخش شود. در هر حال تا انتشار کامل استاندارد HTTP 3 هنوز چند ماه دیگر باقی است.
سخن پایانی
امیدواریم این مقاله با موضوع HTTP 3 مورد توجه شما قرار گرفته باشد. در این راهنما تلاش کردیم وارد جزییات عمیق فنی نشویم و با این حال تصویر روشنی از خصوصیات نسخه جدید پروتکل مهم HTTP در اختیار شما قرار دهیم.
من فکر میکردم وبسرور نرمافزاریه که اسکریپتها رو در سرور اجرا میکنه٫ ولی اینجا اینطوری نوشته
HTTP یک پروتکل کلاینت-سرور است که در آن درخواستها از سوی یک موجودیت ارسال میشوند که عموماً کاربر-مامور یا یک واسطه به نیابت از او است. در اغلب موارد این کاربر-مامور یک وبسرور است، اما میتواند هر چیزی از جمله یک ربات که وب را جستجو میکند تا اندیسهای یک موتور جستجو را تشکیل دهند نیز باشد.
با سلام و احترام؛
این مورد، بازبینی و اصلاح شد. از ارائه بازخورد شما سپاسگزاریم.
با تشکر از همراهی شما با مجله فرادرس