
کمی با تاریحچه HTTP بیشتر آشنا شویم !
HTTP مخفف پروتکل انتقال ابرمتن است و اساس تقریباً همه برنامه های وب است. به طور خاص، HTTP روشی است که رایانه ها و سرورها برای درخواست و ارسال اطلاعات از آن استفاده می کنند. به عنوان مثال، هنگامی که شخصی در لپتاپ خود به coindej.com میرود، مرورگر وب او درخواست HTTP را برای محتوایی که در صفحه ظاهر میشود به سرورهای coindej ارسال میکند. سپس سرورهای coindej پاسخهای HTTP را با متن، تصاویر و قالببندی که مرورگر نمایش میدهد به کاربر ارسال میکنند.
اولین نسخه قابل استفاده HTTP در سال 1997 ایجاد شد. از آنجا که چندین مرحله توسعه را پشت سر گذاشت، این اولین نسخه HTTP HTTP/1.1 نام گرفت. این نسخه هنوز در وب در حال استفاده است. در سال 2015 نسخه جدیدی از HTTP به نام HTTP/2 ساخته شد.
HTTP/2 چندین مشکل را حل می کند که سازندگان HTTP/1.1 پیش بینی نمی کردند. به طور خاص، HTTP/2 بسیار سریعتر و کارآمدتر از HTTP/1.1 است. یکی از راههایی که HTTP/2 سریعتر است، نحوه اولویتبندی محتوا در طول فرآیند بارگیری است. TP/2 سریعتر از HTTP/1.1 ؟
اولویت بندی چیست؟
در زمینه عملکرد وب، اولویت بندی به ترتیب بارگذاری قطعات محتوا اشاره دارد. فرض کنید کاربری از یک وب سایت خبری بازدید می کند و به یک مقاله می رود. آیا ابتدا باید عکس بالای مقاله بارگیری شود؟ آیا ابتدا باید متن مقاله بارگذاری شود؟ آیا ابتدا باید تبلیغات بنری بارگذاری شود؟
اولویت بندی بر زمان بارگذاری صفحه وب تأثیر می گذارد. برای مثال، برخی منابع، مانند فایلهای بزرگ جاوا اسکریپت، ممکن است در صورتی که ابتدا مجبور به بارگیری شوند، بقیه صفحه را از بارگیری مسدود کنند. اگر این منابع مسدودکننده رندر بارگیری شوند، میتوانند تعداد بیشتری از صفحه را همزمان بارگیری کنند.
علاوه بر این، ترتیب بارگیری این منابع صفحه بر نحوه درک کاربر از زمان بارگذاری صفحه تأثیر می گذارد. اگر فقط محتوای پشت صحنه (مانند یک فایل CSS) یا محتوایی که کاربر نمی تواند فوراً آن را ببیند (مانند تبلیغات بنری در پایین صفحه) ابتدا بارگیری شود، کاربر فکر می کند که صفحه اصلاً بارگیری نمی شود. اگر محتوایی که برای کاربر مهمتر است ابتدا بارگذاری شود، مانند تصویر بالای صفحه، کاربر سریعتر بارگیری صفحه را درک میکند.
اولویت بندی در HTTP/2 چگونه بر عملکرد تأثیر می گذارد؟
در HTTP/2، توسعه دهندگان کنترل دقیق و عملی بر اولویت بندی دارند. این به آنها اجازه می دهد تا سرعت بارگذاری واقعی و درک شده صفحه را تا حدی به حداکثر برسانند که در HTTP/1.1 امکان پذیر نبود.
HTTP/2 یک ویژگی به نام اولویت بندی وزنی را ارائه می دهد. این به توسعه دهندگان این امکان را می دهد که هر بار تصمیم بگیرند که کدام منابع صفحه اول بارگذاری شود. در HTTP/2، هنگامی که یک کلاینت برای یک صفحه وب درخواست می کند، سرور به جای ارسال یک چیز پس از دیگری، چندین جریان داده را به طور همزمان برای مشتری ارسال می کند. این روش تحویل داده ها به عنوان Multiplexing شناخته می شود. توسعهدهندگان میتوانند به هر یک از این جریانهای داده مقدار وزنی متفاوتی اختصاص دهند، و این مقدار به مشتری میگوید کدام جریان داده را ابتدا ارائه کند.
تصور کنید که آلیس می خواهد رمانی را بخواند که دوستش باب نوشته است، اما هر دو آلیس و باب فقط از طریق پست معمولی با هم ارتباط برقرار می کنند. آلیس نامه ای برای باب می فرستد و از باب می خواهد که رمانش را برای او بفرستد. باب تصمیم میگیرد رمان به سبک HTTP/1.1 را بفرستد: او هر بار یک فصل را پست میکند، و فصل بعدی را فقط پس از دریافت پاسخ نامه از آلیس که تأیید میکند فصل قبل را دریافت کرده است، ایمیل میکند. با استفاده از این روش ارائه محتوا، آلیس هفته ها طول می کشد تا رمان باب را بخواند.
حالا تصور کنید که باب تصمیم می گیرد رمان خود به سبک HTTP/2 را به آلیس بفرستد: در این مورد، او هر فصل از رمان را جداگانه (برای اینکه در محدوده اندازه سرویس پست باقی بماند) اما همه را همزمان می فرستد. او همچنین هر فصل را شماره گذاری می کند: فصل 1، فصل 2، و غیره. حالا آلیس رمان را به یکباره دریافت می کند و می تواند آن را به ترتیب درست در زمان خودش جمع کند. اگر فصلی از دست رفته باشد، او ممکن است یک پاسخ سریع بفرستد و آن فصل خاص را بخواهد، اما در غیر این صورت روند کامل است و آلیس میتواند رمان را تنها در چند روز بخواند.
در HTTP/2، دادهها به یکباره ارسال میشوند، درست مانند زمانی که باب چندین فصل را به طور همزمان به آلیس میفرستد. و درست مانند باب، توسعه دهندگان می توانند فصل ها را در HTTP/2 شماره گذاری کنند. آنها می توانند تصمیم بگیرند که آیا ابتدا متن یک صفحه وب بارگیری می شود یا فایل های CSS یا جاوا اسکریپت یا هر آنچه که فکر می کنند برای تجربه کاربر مهم است.

تفاوت های دیگر بین HTTP/2 و HTTP/1.1 که بر عملکرد تأثیر می گذارد چیست؟ مقاله

Apache Module: HTTP2 مقاله
اختلال در ماژول های PHP - اگر به مشکل خوردید ! EasyApache 4 مقاله
فعال کردن HTTP2 با SSH مقاله
چک کردن فعال بودن HTTP2 مقاله
ضمانت بازگشت وجه ۷ روزه بدون ریسک
در صورت عدم تطابق دوره با سرفصلها، وجه پرداختی شما را بازگشت خواهیم داد.
دوره های مرتبط
نوشتن یک ماژول ساده خوش آمد گویی در کنسول سرور لینوکسی با زبان پایتون
در پکیج آموزش طراحی سایت دو و چند زبانه، تمام ابزارهای مورد نیاز برای چندزبانه کردن یک وبسایت وردپرسی، در اختیار شما قرار گرفته است.
نصب آنتی ویرویس imunify روی سرور WHM/CPANEL
در پکیج آموزش طراحی سایت دو و چند زبانه، تمام ابزارهای مورد نیاز برای چندزبانه کردن یک وبسایت وردپرسی، در اختیار شما قرار گرفته است.
“PHP FPM” – مدیریت فرآیند ها برای سایت های پربازدید
در پکیج آموزش طراحی سایت دو و چند زبانه، تمام ابزارهای مورد نیاز برای چندزبانه کردن یک وبسایت وردپرسی، در اختیار شما قرار گرفته است.
نصب HTTPS and SSL رایگان – بر روی سرور
در پکیج آموزش طراحی سایت دو و چند زبانه، تمام ابزارهای مورد نیاز برای چندزبانه کردن یک وبسایت وردپرسی، در اختیار شما قرار گرفته است.
نظرات
رایگان!

شمشاد امیری خراسانی
Senior Software Developerبرنامه نویس آزاد