×

برای ورود به صفحه‌ی فارسی وب‌سایت ابر آروان کلیک کنید

WebSocket را می‌توان گامی بزرگ در بهبود عملکرد اپلیکیشن‌های وبی که نیاز به تبادل real time اطلاعات دارند به‌شمار آورد؛ هم‌چون بازی‌های آنلاین چندکاربره، اپلیکیشن‌های chat و ...
WebSocket پروتکلی برای ایجاد ارتباطی دوطرفه و سریع میان مرورگر و سرور است. هدف از معرفی این پروتکل، غلبه‌بر تاخیر فراوان حاصل از ارتباطات درخواست/پاسخ (request/response) در HTTP است.
سرورهای توزیع‌شده‌ی ابر آروان در سراسر دنیا با پشتیبانی از WebSocket تضمین‌کننده‌ی دسترسی به محتوا به‌شکل real time و با کم‌ترین تاخیر به کاربران نهایی هستند.

ServerUserHTTP ProtocolWebSocket Protocol

WebSocket چرایی ایجاد

پروتکل HTTP که وظیفه‌ی انتقال اطلاعات بر بستر وب را به‌عهده دارد، پروتکلی client/server است. به بیان بهتر، تا زمانی‌که از سوی کاربر (client) درخواستی (request) برای سرور ارسال نشود، سرور داده‌ای را ارسال نمی‌کند. در حالت معمول و قدیمی ارتباطات HTTP، کاربر پس از ارسال یک درخواست نمی‌توانست آن را تغییر دهد، پس اگر به دریافت محتوای جدید از وب‌سایت نیاز داشت، باید کل صفحه را از نو بارگذاری می‌کرد. این روش سه مشکل عمده داشت:

  • افزایش تاخیر و عدم دسترسی به محتوا به‌شکل real time از سوی کاربر نهایی
  • استفاده از ارتباطات TCP جداگانه به‌ازای هر درخواست
  • تبادل هدرهای HTTP غیرضروری میان مرورگر و سرور به‌ازای هر پیام ارسالی

این مشکلات که سبب ایجاد تجربه‌ی کاربری نامطلوب و نارضایتی کاربران در کار با وب شده بودند، سبب شد تا ایده‌هایی مبنی‌بر ایجاد ارتباطی دایمی میان سرور و کاربر، شکل گیرند. ایده‌های مطرح‌شده یا کاملن مبتنی‌بر HTTP بوده و بازهم نمی‌توانستند سربار حاصل از ارتباطات HTTP را کاهش دهند هم‌چون AJAX، یا تنها قابلیت اجرا در یک سمت ارتباط هم‌چون ایجاد ارتباطی دایمی تنها میان سرورها (و نه سرور و مرورگر) را داشتند، هم‌چون Webhooks. در نتیجه هیچ‌یک از این روش‌ها نتوانستند آن‌گونه که باید پاسخ‌گوی حل این مشکلات باشند.

WebSocket چیست؟

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

تنها به میزان مصرف‌تان، هزینه پرداخت کنید

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