باتوجه به اینکه وب سوکتها سرعت رو در کل بین سرور باکلاینت بالا میبرند پس چرا در وب سایتها لینکها به صورت وب سوکت به سرور کانکت باشند وما در سایت به سرعت بتونیم وارد لینکهای اون سایت بشیم؟
سلام امیدوارم حالت خوب باشه .
سرعت ارتباط فقط یکی از ویژگیهای اون هست و برای اینکه انتخاب کنیم که از چه پروتکلی استفاده کنیم باید عوامل زیادی رو در نظر بگیریم و بعد با توجه به نیاز هامون نوع و پروتکل ارتباط رو مشخص کنیم .
در کل توصیه میشه از http استفاده بشه مگر اینکه برامون احراز بشه که استفاده از websocket بهتره .
چند تا از دلایل رو اشاره میکنم :
۱- اول اینکه استفاده از websocket در جایی که کاربر نیاز به دریافت اطلاعات لحظه ای نداره مناسب نیست چون استفاده از websocket به وجود یک سرور نیاز داره و در این مورد هزینه و منابع اضافی از ما هدر میده .
۲- در http ما قابلیت cache کردن دیتا رو داریم و مثلا دیتایی که برای یک ماه پیش هست و تغییر نکرده رو cache میکنیم و هربار از database دریافت و محاسبه نمیکنیم در صورتی که در اینجا استفاده از websocket معنایی نداره چون مهمترین هدف websocket ارتباط real-time هست .
۳- در http با هر درخواست از نتیجه اون اطمینان حاصل میشه که میتونه خطا باشه یا با موفقیت انجام بشه و برای این موضوع از http codeها استفاده میشه و به راحتی نتیجه درخواست مشخص میشه .در حالی که در websocketها فقط در ایجاد ارتباط این موضوع بررسی میشه و بقیه خطاها و نتایج رو باید در لایه message بررسی کنیم که مشکلات زیادی ایجاد میکنه و مدیریت اون هم پیچیدگی و ملاحظات زیادی نیاز داره .
و عوامل زیاد دیگه ای که در نتیجه اونها توصیه میشه از http استفاده کنید مگر اینکه واقعا به مزایای websocket نیاز داشته باشید .