موضوع مقاله :

کامیت چیست؟

چکیده :

کامیت چیست؟


شرح : کامیت یک تکنولوژی تحت وب است که در آن وب سرور ، اطلاعات را به صورت نا متقارن به سمت کلاینت ( معمولاّ مرورگر وب ) می فرستد بدون آنکه کلاینت صریحاً درخواستی کرده باشد.کامیت به شما این امکان را می دهد که بر اساس رخداد ها عمل کنید ، به صورت زنده با مرورگر تراکنش داشته باشید که در حالت های دیگر ( سایر معماری ها ) امکان پذیر نیست.
واژه کامیت از سال 2006 مطرح شد ولی از سال ها قبل تحت نام های Server push, HTTP push, HTTP Streaming, Pushlets, Reverse Ajax و…. به کار می رفته است.اپلیکیشن های کامیت ارتباط های طولانی مدت HTTP بین وب سرور و کلاینت دارند (Long-Lived) که به سرور اجازه میدهد با وقفه به درخواست ها پاسخ دهد ، و هر موقع اطلاعات جدیدی بوجود آمد آن ها را به سمت کلاینت Push کنند.این متغایر با تعریفی که از ابتدا در مورد وب شده است می باشد که در آن مرورگر صفحه ی کامل وبی را در قبال فرستادن درخواست می گیرد.همچنین با مدلی که از آژاکس نیز ارائه شده است هم متغایر است که در آن مرور گر با درخواست خود قطعه ای از اطلاعات را برای بروز رسانی صفحه ی کنونی به کار می برد.اثری که کامیت می گذارد بسیار شبیه اپلیکیشن هایی است که به طور سنتی از آژاکس به همراه Polling برای چک کردن وجود اطاعات جدید و بروز رسانی صفحه استفاده میکنند.
ولی عملکرد بسیار بهینه شده و تاخیر و Server load بسیار کم شده است.اپلیکیشن های وب همیشه به خاطر وجود محدودیت های دسترسی به منابع محلی و شبکه ای و همچنین محدودیت هایی که برنامه های درون مرورگری نسبت به اپلیکیشن های دسکتاپ کم توانا تر و کم انعطاف پذیر تر بودند،با پیشرفت مرورگر ها بسیاری از این محدودیت ها برداشته شد و همین باعث بوجود آمدن اپلیکیش های توانای اینترنت شد.(Rich Internet Applications ) و اپلیکیشن های وب به اپلیکیشن های دسکتاپ شبیه تر و شبیه تر شدند.
یکی از این مشکلات آن بود که هر قطعه ای از اطلاعات که از سمت سرور به سمت کاربر می رفت باید از طرف کاربر صراحتاّ درخواست می شد. که این مشکل با بوجود آمدن کامیت برداشته شد.کامیت به سرور اجازه می داد به صورت زنده به رخ داد ها پاسخ دهد مانند به روز شدن منابع اطلاعات یا تغییر در آن ( شما شاهد تغییر آنی آن خواهید بود ) یا فرستادن پیغامی از طرف کاربر.کامیت بهترین راه حل برای حل این محدودیت می باشد.

تکنولوژی کامیت هیچ گونه استاندارد جهانی ندارد به همین خاطر آن را یه جور هک  مرورگری هم نام گذاری میکنند  یعنی استانداری به منظور کامیت در مرورگرهای قدیمی در نظر گرفته نشده است .از مشکلات دیگر آن نا هماهنگی در مرورگر های مختلف است .

همچنین کامیت به خاطر آنکه همیشه نیاز دارد با وب سرور شما در ارتباط باشد در بازه زمانی خاص به همین منظور وب سرور شما را همیشه در حالت مشغول نگه می دارد و این در زمانی به ضرر شماست که تعداد کاربر های شما زیاد باشد  ، به همین خاطر توانایی وب سرور اپاچی در این مورد کم می اورد  و درخواست ها را  یکسان در نظر نمیگیرد ، به همین خاطر در تعداد  ????? درخواست عموما هنگ می کند .

به همین خاطر شما باید از وب سرور هایی مثل انجین ایکس و یا لایت اسپید استفاده نمائید . کامیت روش های مختلفی دارد که معروف ترین آن long-plling  می باشد .

 از مشکلات بالا بگذریم کامیت خوبی هایی هم دارد ، و همچنین مرورگر های آینده دارند با این تکنولوژی هماهنگ می شوند . از خوبی های کامیت می توان استفاده نکردن از زبان دیگر در طرف سرور خودتون و … نام برد.

ولی به یاد داشته باشید تکنولوژی های جدید در راه هستند که مشکلات گذشته را دارند پوشش می دهند به همین خاطر به نفع شماست که به آنها توجه کنید . به عنوان مثال node.js این توانایی را دارد که هم در سرور و هم در کلاینت با زبان جی اس برنامه نویسی کنید .
از توانایی های خوب ان رفع همین مشکل مصرف رم بالا و بر خط بودن ان است . که به صورت سوکت در نظر گرفته شده است