طراحی وبسایت برنامه نویسی بهینه‌سازی وبسایت
HTTP/2 چگونه کار میکند

HTTP/2 چگونه کار میکند

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

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

درک این موضوع میتواند شما را به سمت توسعه دهنده حرفه ای وب شدن سوق دهد پس دانستنش کارها را ساده تر میکند.

HTTP/1.1 چگونه کار میکند؟

یک پروتکول لایه نرم افزار شبکه است. که برای صحبت کردن بین نرم افزار ها کاربرد دارد. اولین نسخه از این پروتکل درسال ۱۹۹۷ معرفی گردید.

مثلا بین:

  • یک مرورگر و یک وب سرور.
  • یک وب سرور و یک نرم افزار موبایل (اندروید یا IOS)
  • و…

زمانی که بین دو نرم افزار یک ارتباط ایجاد می گردد. توسط HTTP/1.1 و با استفاده از TCP یک کانال ارتباطی ایجاد میگردد. از این رو توسط متد های POST، GET و HEAD شروع به ارسال اطلاعات میکند.

سایر متد های زیر برگرفته از سه متد بالا هستند:

  • PATCH
  • PUT
  • DELETE
  • و…
HTTP و TCP چگونه کار میکند
HTTP و TCP چگونه کار میکند

مشاهده می کنید که در تصویر بالا ۷۵ درخواست (request) به وب سایت مربوطه ارسال شده است. شاید ما یک لینک را توسط مرورگر ارسال کنیم اما در واقع ۷۵ درخواست بوده است. برای هر کدام از آنها یک پاسخ (Response) نیز دریافت میشود.

پس نتیجه میگیریم برای هر درخواست و پاسخ یک ارتباط TCP ایجاد مینماید.

برای مشاهده به این مسیر بروید.

و دکمه click to load again بفشارید. این کار باعث میشود هر دو تصویر یک بار دیگر بارگزاری شوند.

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

سرعت HTTP2 بیشتر از قبل شده است.

دلیل افزایش سرعت HTTP/2 چیست؟

درسال 2015 معرفی گردید.

تفاوت اساسی این پروتکل استفاده از multiplexing است. بدین معنی که سرور میتواند در یک اتصال TCP چندین پیام ردوبدل کند.

HTTP/2 چگونه کار میکند

ازطرف دیگر HTTP/2 هدر ها را نیز فشرده سازی می کند.

و البته به دلیل فشرده شدن هدر خطایابی مشکل میگردد. حال آنکه در HTTP/1.1 این کار راحت تر انجام میگرفت.

HTTP/2 چگونه کار میکند و تفاوت آن با HTTP/1
HTTP/2 چگونه کار میکند و تفاوت آن با HTTP/1

همان طور که در تصویر زیر مشاهده می نمایید درخواست ها به کد باینری تبدیل شده اند و بدین ترتیب از خوانایی آنها کم میشود.

تفاوت درخواست های HTTP/2 با با HTTP/1

آیا HTTP/2 نیاز به SSL یا TLS دارد؟

درست است که خوانایی این ارتباطات کم شده است اما باینری هستند رمزنگاری شده نیستند. پس حتما از HTTPS استفاده شود.

Author

خسرو نظری

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

Leave a comment

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