پنج روش برای ارتقای سرعت وب‌سایت با استفاده از HTTP/2

پنج روش برای ارتقای سرعت وب‌سایت با استفاده از HTTP/2

 

HyperText Transfer Protocol version 2 یا HTTP/2 جدیدترین استاندارد HTTP است. به روز رسانی در این پروتکل سرعت، عملکرد و امنیت ترافیک وب را بالا برده است. 

در این مقاله شما را با HTTP/2 آشنا کرده و به شما می‌گوییم که چگونه وب‌سایت یا سرور خود را پیکربندی کرده و از قابلیت‌های جدید استفاده کنید. 

 

HTTP/2 چیست؟ 

برای یک کاربر معمولی تفاوت چندانی بین HTTP/1.1 و HTTP/2 وجود ندارد. 

همه‎ی مرورگرها به یک مجوز امنیت لایه انتقال (TLS) نیاز دارند تا بتوانند توسط HTTP/2 یک وب‌سایت را اجرا کنند. در نتیجه علاوه بر بارگذاری سریع‌تر صفحه امنیت وب‌سایت نیز بالاتر می‌رود. 

برای طراحان و صاحبان وب، HTTP/2 می‎تواند سرعت بارگذاری را در همه‎ی دستگاه‌ها بالاتر ببرد. 

همه‎ی مرورگرهای مدرن استاندارد پروتکل جدید را پشتیبانی می‌کنند. با این حال اگر سرور و یا مرورگر HTTP/2 را پشتیبانی نکند، HTTP/1.1 به صورت خودکار فعال می‌شود. 

 

HTTP/2 چه اثری روی طراحی وب‌سایت دارد؟ 

تغییراتی که در HTTP/2 وجود دارد در بهینه سازی سرعت و بازده وب‌سایت ما اثر می‌گذارد. 

قابلیت‌های جدید معرفی شده در HTTP/2 باعث می‌شود که دیگر تکنیک‌های بهینه سازی و راه‌حل‌های HTTP/1 مورد استفاده قرار نگیرد که شامل اینلاین اسکریپت‌ها به HTML یا ترکیب فایل‌ها برای کاهش درخواست سرور می‎شود. شاردینگ دامنه  (Domain sharding) نیز دیگر قابل استفاده نخواهد بود. 

در بعضی موارد، اگر از HTTP/2 استفاده کنید راه‌حل‌ها اثر معکوس بر سرعت صفحه وب خواهند داشت. 

بیشتر ترافیک اینترنتی مرتبط با موبایل است در نتیجه سرعت اینترنت موبایل را در نظر گرفته و اندازه‌ی فایل‌های مدیا را کوچک نگاه دارید. شما همچنین باید JavaScript، HTML و CSS خود را فشرده کنید. 

 

با این مفاهیم HTTP آشنا شوید 

اگر با مفاهیم این مقاله آشنا نیستید ادامه‎ی مقاله را دنبال کنید:

اینلاین اسکریپت  (Inline script)اضافه کردن جاوااسکریپت به طور مستقیم به اسناد HTML با تگ <script> است. در HTML/1.1 با استفاده از این روش از شر فایل‌های جاوااسکریپت خلاص شده و درخواست‌های سرور را کاهش داده و اسکریپت‌ها را سریع‎تر بارگذاری می‎کند. 

کاهش تعداد فایل‌ها به لطف مولتی‌پلکسینگ (Multiplexing) ، اولویت‌بندی استریم و سرور پوش(Server Push)   دیگر در HTTP/2 برای سرعت بارگذاری صفحه دیگر یک مشکل بزرگ نیست. 

مولتی‌پلکسینگ یک قابلیت جدید در HTML/2 است که امکان چندین دیتا استریم (Data Stream) یا جریان داده را در یک اتصال پروتکل کنترل انتقال ( TCP) فراهم می‌کند. 

جریان داده یک اصطلاح HTML/2 است که برای جریان‎های دوجهتی داده استفاده می‌شود. با استفاده از شناسه خاص ما می‌توانیم هر جریان را اولویت بندی کنیم که باعث می‌شود بتوانیم ارسال داده را بهینه سازی کنیم. 

اولویت بندی جریان (Stream Prioritization) یک قابلیت جدید دیگر در HTML/2 است که این امکان را به ما می‌دهد تا به یک سرور بگوییم که منابع و پهنای باند را به جریان‌های داده بهینه‌سازی شده تخصیص دهد. علاوه بر آن از ارسال محتوایی که در اولویت قرار دارند را به صورت بهینه سازی شده به کلاینت‌ها تحویل می‌دهد. 

Domain Sharding عمل تقسیم منابع وب‌سایت بین چندین سایت یا دامنه برای رسیدن به محدودیت دانلود همزمان در HTML/1.1 است. 

در HTML/2، Multiplexing و Server Push دانلودهای همزمان سریع‌تر و بهینه‌شده‌تر از Domain Sharding است. البته در حال حاضر هیچ پشتیبانی برای استفاده از این قابلیت‌ها طی چند دامنه وجود ندارد. 

Server Push به یک سرور اجازه می‌دهد تا چندین پاسخ به یک درخواست کلاینت فرستاده شود. به صورت خلاصه سرور فرض می‌کند که به کدام فایل‌های یک مرورگر نیاز دارد تا بدون این که مرورگر آن‌ها را درخواست دهد باز شوند. 

حال کمی به تغییراتی که صاحب یک وب‌سایت باید ایجاد کند تا وب‌سایت را برای HTTP/2 بهینه‌سازی کند می‌پردازیم. 

 

5 تغییر در وب‌سایت برای بهینه‌سازی HTTP/2

تغییرات اصلی که باید به عنوان یک صاحب وب‌سایت ایجاد کنید مرتبط با منابع وب‌سایت است. به خصوص درمورد این که سرورهای وب‌سایت باید با مرورگر ارتباط برقرار کرده و فایل‌ها چگونه ارسال می‌شوند. 

 

1- CSS و جاوااسکریپت را با هم ترکیب نکنید 

شما دیگر نباید منابع وب‌سایت خود را با همدیگر ترکیب کنید. در HTTP/1.1 این کار تعداد درخواست‌های HTTP را کاهش داده و فایل‌ها باید برای نمایش روی سایت دانلود شوند. 

هر درخواست HTTP تأخیر را تشدید می‌کند درنتیجه  HTTP/1.1 که یک فایل را دانلود می‌کند بهتر عمل می‌کند تا این که چندین فایل را دانلود کند. فایل‌های کمتری نیز به محدودیت برای دانلود همزمان در HTTP/1.1 می‌رسند. 

همانطور که HTTP/2 امکان چندین دانلود را بدون چندین درخواست سرور فراهم می‌کند، تعداد فایل‌ها هنگام بهینه‌سازی برای سرعت کمتر اهمیت دارد. در ترکیب با حافظه نهان، کیفیت فایل‌های خاص در HTTP/2 بهتر هستند. 

درنتیجه فایل‌های خاص بیشتری به شما این امکان را می‌دهند تا بیشتر وب‌سایت خود را صرف شبکه دریافت محتوا(CDN) و حافظه نهان مرورگر کنید. علاوه بر آن مرورگر دیگر مجبور نخواهد بود وقتی که شما تغییرات جزئی روی سایت خود انجام می‌دهید یک فایل بزرگ را دانلود کند. 

 

2- اسکریپت‌ها را در HTML اینلاین نکنید 

جاسازی CSS و فایل‌های جاوا اسکریپت در اسناد HTML سرعت بارگذاری صفحه را در HTTP/1.1 بالا می‎برد. با ترکیب فایل‌ها تعداد فایل‌ها و درخواست‌های سرور را کاهش می‌دهد. 

اینلاین کردن اسکریپت‌ها در HTML وقتی که از HTTP/2 استفاده می‌‎کنید با کاهش قابلیت مرورگر برای ایجاد حافظه نهان به صورت تکی باعث کاهش بهینه سازی سرعت صفحه می‌شود. 

این کارهرگونه ارتقا در اولویت‌بندی استریم و همچنین اسکریپت جاسازی‌شده را شکسته و محتوا همان اولویت مشابه محتوای HTML را دریافت می‌کند. 

به جای اینلاین محتوا برای کاهش درخواست‌های HTTP از مولتی‌پلکسینگ و سرور پوش استفاده کنید. این کار به مرورگر اجازه می‌دهد تا منابع بیشتری را با درخواست کمتر دانلود کرده و سرعت بارگذاری صفحه را ارتقا دهد. 

به طور خلاصه در صورت امکان منابع خود را جدا و کوچک نگاه دارید. 

 

3- از CSS Image Sprites استفاده نکنید

image

 

Image Sprites تصاویری است که از تصاویر کوچک زیادی ساخته شده ( مثل شکل بالا). CSS مشخص می‌کند که کدام بخش‌های عکس نمایش داده شود. 

مانند بیشتر روش‌های  HTTP/1.1، ما از image sprites برای کاهش درخواست سرور استفاده می‎کنیم. در HTTP/2 شما می‌توانید بدون هیچ اشکالی در سرعت بارگذاری صفحه از تصاویر جدا استفاده کنید. 

فایل‌های کوچک‌تر سریع‎تر دانلود شده و به لطف مولتی‌پلکسینگ یا سرور پوش بهتر هستند. 

 

4- از Domain Sharding استفاده نکنید

Domain sharding برای دور زدن محدودیت‌های دانلودهای همزمان HTTP/1 استفاده می‌شوند. این محدودیت معمولاً بین چهار تا هشت تا در هر دامنه است و توسط مرورگرها تعیین می‌شود تا حملات DDOS را کاهش دهد. 

شاردینگ وب‌سایت در بین مثلاً چهار دامنه می‌تواند در یک چهارم زمان استفاده شده در HTTP/1.1 از منابع استفاده کند. 

شاردینگ دامنه دیگر به لطف مولتی‌پلکسینگ  HTTP/2 لازم نیست. 

درضمن مرورگرها نمی‌توانند از مولتی‌پلکسینگ و دانلودهای موازی در بین چندین دامنه در HTTP/2 استفاده کنند. شاردینگ همچنین اولویت‎بندی استریم را در  HTTP/2 بشکنند و مزایای آن را از بین ببرند. 

 

5- از Server Push استفاده کنید 

server oush

 

می‌توان گفت که بزرگ‎ترین پیشرفت در HTTP/2 سرور پوش است. 

در HTTP/1.1 وقتی قصد دیدن یک صفحه را دارید سرور اول سند HTML فرستاده می‌شود. مرورگر شما آن را تجزیه کرده و به صورت جداگانه درخواست CSS، جاوا اسکریپت و فایل‎های مدیای موجود در سند را می‌دهد.  

در HTTP/2، سرورپوش سرور را مجبور می‌کند تا منابع درخواست شده را بدون درخواست جداسازی به یک مرورگر بفرستد. این منابع شامل CSS، فایل‎های جاوا اسکریپت و مدیا شده و درخواست‎های HTTP را کاهش می‎دهد و همچنین سرعت بارگذاری صفحه را بالا می‎برد. 

 

چگونه سرور را برای HTTP/2 پیکربندی کنیم؟

HTTP/2

 

بیشتر پیاده‌سازی‌های سرور HTTP/2 را پشتیبانی می‌کنند. با این حال اگر از یک میزبان مشترک استفاده می‌کنید باید با ادمین سرور چک کنید و ببینید که آیا HTTP/2 فعال دارید یا خیر. اگر کنجاو هستید گیت‎هاب یک لیست از پیکربندی‌های سرور که HTTP/2 را پشتیبانی می‌کنند دارد. 

سرورهای Nginx به صورت پیش‌فرض HTTP/2 را پشتیبانی می‎کنند اما ممکن است مجبور شوید سرورهای Apache را پیکربندی کنید تا  HTTP/2 را پشتیبانی کنند. 

اگر وب‌سایت شما HTTPS است باید درhttp2.pro ببینید که امکان دریافت آن از طریق HTTP/2 وجود دارد یا خیر. اگر از Cloudflare به عنوان CDN خود استفاده کرده‎اید هر محتوایی از سرورهای آن‌ها روی HTTP/2 اجرا شده و لازم نیست شما کار خاصی انجام دهید. 

میزبان‎های مختص WordPress ممکن است تغییرات پیکربندی که شما انجام می‎دهید را به خصوص در ردیف‎های پایین‎تر خود محدود کنند. درنتیجه ما  Bluehost را برای سایت‎های وردپرس پیشنهاد می‎دهیم. Bluehost به شما SSL و CDN رایگاه ارائه داده و وب‎سایت شما را روی HTTP/2 اجرا می‎کند. 

 

HTTP/2 تازه اول راه است 

HTTP/2 نسبت به استاندارد قبلی پیشرفت بزرگی داشته است و استفاده از آن مزایای زیادی دارد. 

وب‌سایت‌هایی که از آن استفاده می‌کنند سریع‎تر بارگذاری شده و امن‌تر هستند و در نتیجه در رنکینگ جست‎وجو رتبه بهتری خواهند داشت. 

HTTP/3 نیز در راه است ارتقای سایت به HTTP/2 باعث می‎شود تا راحت‎تر بتوانید به HTTP/3 برسید. 

بیشتر بخوانید:

سه علامت که نشان می‌دهد دستگاه مک شما دچار ویروس شده است

نسل سوم پردازنده رایزن، قدرتمندترین پردازنده دسکتاپ رونمایی شد

ما را در شبکه‌های اجتماعی مختلف تلگرام، روبیکا، توییتر، اینستاگرام، سروش همراهی کنید. 

 

منبع خبر: makeuseof

مارال رضایی

مارال رضایی

مارال هشت سال است که یه عنوان مترجم مشغول به فعالیت است.او دارای مدرک کارشناسی ارشد زبان و ادبیات فرانسه از دانشگاه است و به سه زبان انگلیسی، فرانسه و اسپانیایی صحبت می کند. مارال به ادبیات، سینما و موسیقی راک علاقه مند است و به دنبال یک تجربه متفاوت به وادی تکنولوژی قدم گذاشته.


0 نظر درباره‌ی این پست نوشته شده است.

ثبت نظر