HTTP/2 یک روش جدید برای ساخت وب سایت شماست که با از بین بردن بسیاری از موارد ناکارآمد موجود در نسخه HTTP فعلی بسیار سریعتر بالا میآید. بهترین چیز در این موضوع چیست؟ شما به تلاش زیادی برای بالا آمدن و اجرا کردن نیازی ندارید. یا نیاز دارید؟
HTTP/2 چیست؟
زمانیکه HTTP1 و HTTP1.1 توسعه یافتند، ساختار وب سایتها با ساختار کنونی آنها بسیار متفاوت بود. وب سایتها منابع کمتری (فایلهای JavaScript، فایلهای CSS، عکسها) نسبت به امروز داشتند. اتصال به اینترنت خیلی سریع نبود و کاربران خیلی در مورد سرعت بالا آمدن وب سایت حساس نبودند.
زمانیکه سایت بیشتر از 3 ثانیه برای بالا آمدن طول میکشد کاربران عصبی میشوند.
زمانیکه که طراحی سایت فروشگاه اینترنتی به طور کامل لود میشود شما خوشحال میشوید. ممکن است در خلوت خود شکایت داشته باشید که سایت کند بود. ولی کار خاصی در مورد آن نمیتوانید انجام دهید. چون زمان بالا آمدن کندی سایت به صورت عمده از عواملی ناشی میشود که مستقل از وب سرور و تکنولوژی ای که شما استفاده میکنید است. در بیشتر مواقع ارتباط اینترنتی عامل محدودیت اصلی است.
با جلو رفتن سریع تکنولوژی، امروزه بالا آمدن وب سایت بجای ثانیه ها برحسب میلی ثانیه ها اندازه گیری میشوند. کاربران زمانیکه سایت، بیشتر از 3 ثانیه برای نشان دادن پاسخ طول میکشد ناخشنود میشوند. در این چنین شرایطی، ناکارآمدی براساس میلی ثانیه ها همراه با نسخه اصلی HTTP محاسبه میشود که یک تفاوت بزرگ را نشان میدهد. به همین دلیل است که شما مقالات بسیاری را میبینید که در مورد چگونگی سریعتر کردن وب سایتها به بحث میپردازند.
نسخه جدید HTTP که به عنوان HTTP/2 شناخته میشود مشکلات شناخته شده خاص HTTP را فراخوانی میکند. هدف فراخوانی تعدادی از مشکلات که بیشتر به عنوان وب تلفظ میشود و به وب سایتهای بزرگتر و بزگتر که دارای CSS، JS و عکسهای بسیار بیشتری از انتظار اصلی تکامل یافته است.
اما مشکل HTTP1.x چیست و چرا ما باید تلاش بسیاری را برای سریعتر کردن آن صرف کنیم؟
مشکلات HTTP1.x
HTTP1.x یکسری مشکلا ذاتی دارد. در واقع، بیایید از مشکل خواندن آنها خودداری کنیم. در HTTP1.x تعدادی روش وجود دارد که میتواند مؤثرتر واقع شود.
- HTTP 1.x مبتنی بر متن است. در اصل ایده این بود که HTTP 1.x باید برای انسان قابل خواندن باشد، به همین دلیل کاملا مبتنی بر متن است. با این تعریف تمام پروتکلهای مبتنی بر متن ناکارآمدیهایی همراه با خود مانند فضای سفید، شکست در خطوط، شکل حروف و غیره دارند.
- تنها یک فایل در هر زمان قابل انتقال است. این یکی از بزرگترین مشکلات نسخه های x در HTTP است. یک پستچی را تصور کنید که هربار تنها میتواند یک بسته را حمل کند. او هربار برای ارسال هر بسته بعدی باید به مبدأ بازگردند.
- برای طراحی وب سایت های امروزی صدها درخواست نیاز است. داشتن تم های پیچیده به معنی این است که اندازه وب سایتها و تعداد منابع رشد کرده است. و زمانیکه که برای بالا آمدن هر منبع نیاز است نیز بیشتر میشود. پسچی ما را به یاد آورید که باید هربار به مبدأ باز میگشت، او نمیتواند هربار بیشتر از یک فایل را انتقال دهد.
- هر اتصال یک گزینه تکنیکی سنگین است. چون صدها ارتباط نیاز است، سرور به صورت جدی شروع به انباشتن سربار میکند. با زمان بالا آمدن که با میلی ثانیه ها اندازه گیری میشود، زمان ترکیبی نیازمند ساخت یک اتصال برای صدها منبع بسیار مهم میشود.
طراحان وب جهت پایین آوردن قیمت طراحی سایت باید دفعات زیادی برای کاهش این ناکارآمدی ها در اندازه خاص پیاده سازی کنند. راه حلهایی مانند CSS، کوچک سازی و ترکیب فایلها برای قلبه بر مشکلات بالا آمدن وب سایت وجود دارند.
اما همه اینها در اصل راه حل هستند نه حل مشکل.