چطوری میشه

مقدمه ای بر HTTP/2 برای وردپرس

مقدمه ای بر HTTP/2 برای وردپرس

HTTP/2 یکی از مهمترین نقاط عطف معرفی شده در وب مدرن است. این مقاله وضعیت فعلی HTTP را برجسته می کند و مزایای اصلی (و برخی مفاهیم غیر فنی) HTTP/2 را معرفی می کند. همچنین نحوه پیاده سازی HTTP/2 را برای وردپرس در سال 2018 خواهیم آموخت.

تاریخچه مختصر HTTP

HTTP مخفف عبارت Hypertext Transfer Protocol است که توسط تیم برنرز لی در سال 1991 ایجاد شد. تیم مردی است که باید برای شبکه جهانی وب از او تشکر کنیم. HTTP یکی از فراگیرترین و پرکاربردترین پروتکل های کاربردی در اینترنت است. اما این تنها مورد نیست.

یک ثانیه صبر کنید. من عبارت پروتکل های برنامه را برجسته کرده ام. چرا اینطور است؟ ببینید، اینترنت در واقع ترکیبی از چهار لایه سلسله مراتبی از پروتکل ها است. هر لایه از تعدادی پروتکل تشکیل شده است و مسئول یک عملکرد اصلی است.

برای مدت کوتاهی، چهار لایه در مجموعه پروتکل اینترنت (IP) وجود دارد:

  1. لایه برنامه
  2. لایه حمل و نقل
  3. لایه اینترنت
  4. لایه پیوند

بدون پرداختن زیاد به جزئیات، سه لایه آخر (یعنی لایه‌های حمل و نقل، اینترنت و پیوند) مسئول ایجاد یک اتصال قابل اعتماد برای تبادل داده‌ها هستند.

بالاترین لایه لایه برنامه نامیده می‌شود که به همه برنامه‌های کاربردی در اینترنت سرویس می‌دهد.

  • مشاهده صفحات وب یک برنامه کاربردی در اینترنت است – که توسط پروتکل HTTP امکان پذیر شده است.
  • ایمیل یک برنامه کاربردی دیگر در اینترنت است که توسط پروتکل POP یا IMAP ممکن شده است.

پروتکل های متعددی در لایه برنامه در اینترنت وجود دارد که باعث می شود مواردی مانند ویدیوهای زنده YouTube و Clash of Clans امکان پذیر است.

تولد HTTP/2

HTTP/2 for WordPress Beginnings

HTTP زبان مشترک بین کلاینت ها و سرورها است که وب مدرن را فعال می کند. از آغاز ساده خود به عنوان یک کلمه کلیدی و مسیر سند، به پروتکل منتخب نه تنها برای مرورگرها، بلکه تقریباً برای هر نرم افزار و سخت افزار متصل به اینترنت تبدیل شده است.

این سؤال پیش می‌آید – چند وقت یک‌بار این بخش مهم نرم‌افزار را به‌روزرسانی می‌کنیم؟ خب، همانطور که مشخص است – نه خیلی اوقات

در واقع، آخرین باری که پروتکل HTTP به روز رسانی شد، در سال 1997 بود – ده سال قبل از عرضه اولین آیفون! این نسخه HTTP 1.1 بود و 20 سال بعد، هنوز هم پرکاربردترین نسخه HTTP امروزی است!

هر چیزی که در اینترنت اتفاق می‌افتد – از پخش جریانی ویدیوهای گربه‌ها گرفته تا چت‌های ویدیویی زنده که از ایستگاه فضایی بین‌المللی ارسال می‌شود و تریلیون‌ها تراکنش آنلاین – با فناوری‌ای اتفاق می‌افتد که بیش از دو دهه است که به‌روزرسانی نشده است. در طول سال‌ها، ما با ایجاد برنامه‌های کاربردی جدید برای اینترنت، پیشرفت چشمگیری داشته‌ایم. با این حال، ما همه این کارها را با ایجاد راهکارهای از محدودیت های HTTP/1.1

انجام دادیم.

من نمی خواهم بگویم که HTTP/1.1 همه چیز بد است. اما می‌تواند مطمئناً از به‌روزرسانی استفاده کند. و به همین دلیل است که در سال 2015 گروه وظیفه مهندسی اینترنت ایجاد یک پروتکل بهتر برای HTTP را دوچندان کرد. .

نتیجه پروتکل جدیدی بود که به طور یکپارچه با تمام مواردی که در HTTP/1.1 در حال اجرا بودند کار می‌کرد، در حالی که پیشرفت‌های جدی در فناوری زیربنایی ایجاد می‌کرد. این پروتکل جدید HTTP/2 نام داشت.

چه چیزی در HTTP/2 تغییر کرد؟

در واقع خیلی چیزها. اما ما قصد نداریم همه آنها را در اینجا پوشش دهیم. مطمئناً تا آن زمان حوصله‌تان سر می‌رود و حتی مطمئن‌تر از این که من نمی‌توانم مطالب را به روشی غیرمعمول توضیح دهم. اما در مورد HTTP/2 برای وردپرس، در اینجا چند نکته کلیدی وجود دارد.

Multiplexing

در HTTP/1.1، سرور و کلاینت برای درخواست منابع نیاز به ایجاد اتصالات فردی داشتند. اجازه دهید با این تصویر زیبا از UpWork توضیح دهم:

HTTP/2 for WordPress: Multiplexing

تصویر مالتی پلکس کردن توسط UpWork

یک وب سایت از HTML، CSS، جاوا اسکریپت، تصاویر و فایل های دیگر تشکیل شده است. این فایل ها در مجموع منابع نامیده می شوند. در این مثال، یک وب سایت از سه منبع تشکیل شده است – یک فایل جاوا اسکریپت، یک فایل CSS و یک فایل تصویر.

می بینیم که در HTTP/1.1، مرورگر برای درخواست این منابع به سه اتصال TCP با سرور نیاز دارد. چرا؟ زیرا در HTTP/1.1 هر اتصال فقط می تواند یک درخواست درخواست کند. تعداد بیشتری از اتصالات معمولاً منجر به چیزی می شود که به بهترین وجه می توان آن را به عنوان “ترافیک” منابع توصیف کرد – که در نهایت منجر به تجربه وب سایت کند می شود.

HTTP/2 از Multiplexing پشتیبانی می‌کند

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

تقسیم دامنه و سایر بهبودها

به خاطر دارید که چگونه برنامه‌های جدیدتر برای غلبه بر محدودیت‌های خاص HTTP/1.1 به «راه‌حل‌هایی» نیاز دارند؟ اشتراک گذاری دامنه یکی از این راه حل ها است. بیایید ببینیم چرا به اشتراک گذاری دامنه مورد نیاز است.

به طور معمول، HTTP/1.1 حداکثر تعداد اتصالات باز بین سرور (دامنه) و کلاینت را محدود می کند. اکثر وب سایت ها دارای چندین منبع برای بارگذاری موازی هستند. در تلاش برای بارگذاری سریع‌تر سایت‌ها، وب‌سایت‌ها شروع به ارائه منابع خود از زیر دامنه‌های متعدد کردند. به این کار اشتراک گذاری دامنه می گویند.

HTTP/2 for WordPress: Domain Sharding

تصویر اشتراک گذاری دامنه توسط UpWork

اکنون با HTTP/2، نیازی به اشتراک گذاری دامنه نیست. نه به این دلیل که HTTP/2 محدودیتی برای حداکثر تعداد اتصالات باز قرار نمی دهد. اما چون HTTP/2 از مالتی پلکس شدن پشتیبانی می کند. همه منابع را می توان مستقیماً در یک اتصال ارسال کرد!

به لطف چندگانه سازی در HTTP/2، بسیاری از این «راهکارها» دیگر مورد نیاز نیستند. این موارد عبارتند از CSS sprites، درون خطی تصاویر در CSS با استفاده از URIهای داده و الحاق CSS و جاوا اسکریپت. برای قرار دادن آن در مجله Smashing’ کلمات:

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

پشتیبانی از پروتکل های باینری

ما می دانیم که رایانه ها در 0 و 1 صحبت می کنند، درست است؟ خوب، HTTP/1.x قبلاً اینطور صحبت نمی کرد. HTTP1.x برای پردازش دستورات متنی برای تکمیل چرخه های درخواست-پاسخ استفاده می شود.

HTTP/2 از تبدیل یک پروتکل متنی به یک پروتکل باینری پشتیبانی می کند. این به سرور و کلاینت امکان می‌دهد به جای متن واقعی در 0 و 1 صحبت کنند – در نتیجه مقدار زمان و انرژی مورد نیاز برای تکمیل چرخه‌های درخواست-پاسخ به میزان قابل توجهی کاهش می‌یابد.

فشار سرور HTTP/2

توضیح این ویژگی ممکن است کمی پیچیده باشد، اما من سعی می کنم آن را ساده نگه دارم. در سناریوی کلاسیک HTTP/1.1، سرور (یا وب سایت) تنها زمانی منابع را برای مشتری (مرورگر) ارسال می کند که مشتری منبع را درخواست کند. این سناریوی معمولی درخواست پاسخ است.

با این حال، HTTP/2 مفهوم فشار سرور را معرفی می کند، که در آن برای اولین بار سرور می تواند منابع (یا اطلاعات) را برای مشتری ارسال کند، بدون اینکه مشتری به طور صریح منبع را درخواست کند. این مکانیسم یک رفت و برگشت درخواست-پاسخ را ذخیره می کند و تأخیر شبکه را کاهش می دهد.

توسعه‌دهندگان وب می‌توانند برنامه‌هایی بسازند که از Push سرور استفاده می‌کنند و با پیش‌بینی درخواست‌ها، منابع/اطلاعات اضافی را برای مشتری ارسال می‌کنند. نتیجه نهایی؟ برنامه‌های سریع‌تر و روان‌تر.

فشرده سازی سرصفحه

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

یک واحد داده در هر پروتکل (از جمله HTTP) از سه جزء اصلی تشکیل شده است – هدر، بارگذاری و پاورقی.

  1. سرصفحه: سربرگ حاوی اطلاعاتی درباره واحد داده است
  2. Payload: این داده‌های واقعی است که از سرور به مشتری منتقل می‌شود
  3. پانویس: این نوعی چک لیست است که تضمین می کند واحد داده با موفقیت و بدون هیچ خطایی تحویل داده شده است.

فشرده سازی سربرگ روشی بسیار ساده است – سرور اطلاعات هدر را قبل از انتقال آن به مشتری فشرده می کند. پس از دریافت واحد داده (یا بسته)، مشتری هدر را از حالت فشرده خارج می کند و آن را برای (یا برای) کاربر نمایش می دهد (یا استفاده می کند).

با توجه به اینکه وب‌سایت‌های غنی از رسانه (مانند Netflix یا نیویورک تایمز) امروزه به یک امر عادی تبدیل شده‌اند، فشرده‌سازی هدر HPACK HTTP/2 می‌تواند پهنای باند زیادی را هنگام انتقال داده‌ها از سرور به مشتری ذخیره کند.

TLS بهبود یافته

TLS مخفف عبارت Transport Layer Security است، که بخشی از فناوری است که اتصالات بین سرور و مشتریان را رمزگذاری می کند. ما می دانیم که HTTPS دارد. این فناوری است که به جلوگیری از سرقت اطلاعات کارت اعتباری و سایر داده‌های شخصی ما توسط هکرها در طول تراکنش‌های آنلاین کمک می‌کند.

HTTP/2 بدون نقص با فناوری TLS موجود کار می کند و تعداد زیادی ویژگی پیشرفته مانند دست دادن کمتر TLS، مصرف کم منابع در سمت مشتری و سرور و قابلیت های بهبود یافته در استفاده مجدد از جلسات وب موجود را به همراه دارد و در عین حال آسیب پذیری های خاصی را از بین می برد. HTTP/1.x.

آیا جهان برای HTTP/2 آماده است؟

خب، این بستگی دارد. اکثر مرورگرهای مدرن از جمله کروم و فایرفاکس از پروتکل HTTP/2 پشتیبانی می کنند. اگر منابع لازم برای اجرای پروتکل HTTP/2 را دارید – باید ادامه دهید و این کار را انجام دهید.

Compatibility check for HTTP/2 among major web browsers.

CanIUse .com یک بررسی سازگاری به روز برای HTTP/2 در میان مرورگرهای وب اصلی ارائه می دهد

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

HTTP/2 for WordPress

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

خبر خوب این است که اجرای  HTTP/2 برای وردپرس به لطف  آسان شده است. ارائه دهندگان میزبانی وردپرس خوب. به عنوان مثال، هم WPEngine و هم Kinsta از HTTP/2 پشتیبانی می‌کند و همه موارد جایگزین لازم برای اطمینان از بازدیدکنندگان سایتی که از آن پشتیبانی نمی‌کنند، دارد. پروتکل جدید، نسخه قابل اعتماد و کاملاً بهینه شده تجربه HTTP/1.1 را دریافت کنید.

از دیدگاه یک کاربر اینترنت، لازم نیست کاری جز دانلود آخرین نسخه مرورگر خود انجام دهید. اگر وب سایت با HTTP/2 سازگار باشد، مرورگر شما به طور خودکار با استفاده از پروتکل جدید با آن ارتباط برقرار می کند. با این حال، HTTP/2 کاملاً با نسخه قبلی سازگار است، بنابراین وب‌سایت‌هایی که هنوز از HTTP قدیمی استفاده می‌کنند تحت تأثیر قرار نخواهند گرفت. این بدان معناست که می‌توانید راحت بنشینید و از بارگیری سریع‌تر وب‌سایت‌ها لذت ببرید.

پیچ بندی HTTP/2 برای وردپرس

HTTP/2 برای وردپرس یک به‌روزرسانی انقلابی و بسیار ضروری برای یکی از مهم‌ترین بخش‌های فناوری جهان است. با این حال، زمان زیادی طول می کشد تا HTTP/2 به جریان اصلی تبدیل شود – مانند وب سایت های HTTPS. همانطور که گفته شد، هدف این مقاله این است که خوانندگان خود را با این فناوری شگفت انگیز آشنا کنیم که به طور بالقوه می تواند چهره وب جهانی را تغییر دهد.

نظراتی در مورد HTTP/2 برای وردپرس دارید؟ سوالات؟ در بخش نظرات زیر به ما اطلاع دهید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا