WebSocket را میتوان گامی بزرگ در بهبود عملکرد اپلیکیشنهای وبی که نیاز به تبادل real time اطلاعات دارند بهشمار آورد؛ همچون بازیهای آنلاین چندکاربره، اپلیکیشنهای chat و ...
WebSocket پروتکلی برای ایجاد ارتباطی دوطرفه و سریع میان مرورگر و سرور است. هدف از معرفی این پروتکل، غلبهبر تاخیر فراوان حاصل از ارتباطات درخواست/پاسخ (request/response) در HTTP است.
سرورهای توزیعشدهی ابر آروان در سراسر دنیا با پشتیبانی از WebSocket تضمینکنندهی دسترسی به محتوا بهشکل real time و با کمترین تاخیر به کاربران نهایی هستند.
پروتکل HTTP که وظیفهی انتقال اطلاعات بر بستر وب را بهعهده دارد، پروتکلی client/server است. به بیان بهتر، تا زمانیکه از سوی کاربر (client) درخواستی (request) برای سرور ارسال نشود، سرور دادهای را ارسال نمیکند. در حالت معمول و قدیمی ارتباطات HTTP، کاربر پس از ارسال یک درخواست نمیتوانست آن را تغییر دهد، پس اگر به دریافت محتوای جدید از وبسایت نیاز داشت، باید کل صفحه را از نو بارگذاری میکرد. این روش سه مشکل عمده داشت:
این مشکلات که سبب ایجاد تجربهی کاربری نامطلوب و نارضایتی کاربران در کار با وب شده بودند، سبب شد تا ایدههایی مبنیبر ایجاد ارتباطی دایمی میان سرور و کاربر، شکل گیرند. ایدههای مطرحشده یا کاملن مبتنیبر HTTP بوده و بازهم نمیتوانستند سربار حاصل از ارتباطات HTTP را کاهش دهند همچون AJAX، یا تنها قابلیت اجرا در یک سمت ارتباط همچون ایجاد ارتباطی دایمی تنها میان سرورها (و نه سرور و مرورگر) را داشتند، همچون Webhooks. در نتیجه هیچیک از این روشها نتوانستند آنگونه که باید پاسخگوی حل این مشکلات باشند.
WebSocket برخلاف روشهای معرفیشدهی پیش از خود، پروتکلی برمبنای TCP و متمایز از HTTP است که بهکمک آن میتوان ارتباطی دایمی و دوطرفه را تنها از طریق یک تک پورت TCP میان مرورگر و سرور ایجاد کرد. منظور از ارتباطی دوطرفه آن است که سرور میتواند منابع را بدون دریافت درخواست از جانب کاربر، برای آن ارسال کند.
برقراری ارتباط، تنها از طریق یک تک پورت TCP، سبب کاهش سربار حاصل از ارتباطات TCP جداگانه میشود. از سوی دیگر چون سرور بدون انتظار برای دریافت درخواست از کاربر، میتواند منابع را برای آن ارسال کند، سربار ترافیک HTTP غیرضروری تبادلی میان مرورگر و سرور نیز کاهش درخور توجهی مییابد. همچنین محصول CDN ابر آروان نیز از آن پشتیبانی میکند.
جزییات قیمتگذاری هر محصول را از اینجا ببینید و هزینههای خود را برآورد کنید.