سایت های داینامیک و سایت استاتیک دو نوع سایتی هستند که در حال حاضر سایت های اینترنتی یکی از این دو حالت می باشند و قطعاً اگر به فکر افزایش سرعت وب سایت خود هستید، مبحث داینامیک و استاتیک یکی از اصول پایه ای می باشد که باید با آن آشنا شوید.
به طور خلاصه می توان اینطور گفت که سایت های داینامیک به منابع سرور قوی تر و بیشتری نیاز دارند اما در مقوله به روز رسانی وب سایت بسیار منعطف تر می باشند در حالیکه وب سایت های استاتیک طبیعتاً سریعتر هستند چرا که این وب سایت ها جز نمایش فایل های آماده وب سایت به بازدیدکننده به انجام فعالیت اضافه ای در سرور نیاز ندارند. به هر حال این انواع وبسایت ها، هر نوع مزایا و مضرات خاص خود را دارد که البته در دنیای اینترنت فعلی اکثریت وب سایت های به حالت داینامیک پیاده سازی می شوند.
سایت های پویا (داینامیک)
قطعاً اکثر وب سایت های دنیای وب امروز، سایت های داینامیک هستند. یک وب سایت به منظور داینامیک یا پویا بودن بر اساس یک اسکریپت یا زبان سمت سرور (Server-Side) نوشته می شود تا صفحات پویای مورد نیاز بازدیدکننده را از سرور درخواست کند. به صورت ساده می توان اینگونه مطرح کرد که هر سایتی که با یکی از سیستم های مدیریت محتوا جوملا، وردپرس، دروپال و … طراحی شود در زمره سایت های داینامیک قرار می گیرد.این گونه نرم افزار ها و وب سایت ها از اسکریپت های خود استفاده می نمایند تا به دیتابیس یا مرکز داده متصل شوند و در نهایت با ترکیب Data و Database (اطلاعات صفحات و پایگاه داده) یک وب سایت را به وجود می آورند. این فرآیند یک ناحیه کاربری (Front-end: سمت کاربر) کاربرپسندانه را به اجرا خواهد گذاشت که به کاربر اجازه می دهد برخی از متغیرهای پویای سایت را تغییر دهد.
سایت های داینامیک و یا پویا اصولاً بدینصورت هستند که به جای اینکه صفحات تک تک به صورت کد صرف پیاده سازی شوند از متغیر ها و داده های طبقه بندی شده پایگاه داده کمک می گیرد و بدین ترتیب برای ایجاد 50 صفحه وب سایت که همگی یک فرم و حالت ثابت دارند و تنها نیاز به تغییر بخش هایی مانند تیتر صفحه و یا متن اصلی است نیاز به ایجاد کدهای جداگانه و تفکیکی نیست بلکه برای تمام این صفحات یک اسکریپت آماده می شود و به جای متن و تیتر هر صفحه متغیری لحاظ می شود که در هر یک از آن 50 صفحه، این متغیر ها با متن و تیتر اصلی جایگزین می شوند و در نهایت 50 صفحه متفاوت را ایجاد می کند.
به طور مثال در یک صفحه از سایت پویا، اسکریپت و کدنوشته بدینصورت تعبیه می گردد که در گوشه ای از صفحه عبارت (( $user عزیز، خوش آمدید!!)) نمایش داده شود. در نتیجه هنگام بازخوانی این صفحه توسط کاربر، اطلاعات متغیر “user” مناسب با کاربر از سرور درخواست می شود و به طور مثال پایگاه داده واژه ((کاربر)) را به عنوان محتوای این متغیر پاسخ می دهد در نتیجه کاربر صفحه را با عبارت ((کاربر عزیز، خوش آمدید!!)) مشاهده می کند، حال هر فرد دیگری نیز هنگام بازدید سایت، خوشامدگویی را با نام خود می بیند، بدینصورت بدون نیاز به ایجاد n تعداد صفحه به نام کاربران، هر فرد سایت را به صورت پویا متناسب با خود خواهد دید.از این رو اغلب یکی از تفاوت های اصلی سایت های پویا و پایدار به اینصورت مطرح می شود که سایت های استاتیک یا پایدار لزوماً باید توسط افراد آشنا با کدنویسی و متخصص به روزرسانی گردد در صورتی که سایت های داینامیک بسیار ساده تر و با وابستگی کمتری به کدنویسی به روز رسانی می گردند.
از دیگر مزایای سایت های داینامیک نسبت به استاتیک که در اصول اولیه پدید آمدن سایت های داینامیک نیز نقش اساسی داشت، بحث Cache و یا مخزنی برای ذخیره موقت داده ها است که با توجه به آنچه که در بالا ذکر شد در سایت های داینامیک و پویا با توجه به تنظیمات سایت یا معمولاً سیستم مدیریت محتوا شما، آن بخش از سایت که پیوسته در اکثر صفحات باید بازخوانی شود در سرور (برای سمت میزبان) و در مرورگر شما (برای سمت کاربر) به صورت cache ذخیره می گردد، در نتیجه هنگام بازدید صفحات متعدد یک وب سایت دیگر نیازی به بازخوانی مجدد تمام اطلاعات آن صفحه نیست، بلکه بخش های تکراری به صورت موقت در مرورگر شما ذخیره شده و تنها بخش های متغیر را از سرور بازخوانی می کند و با کنار هم گذاشتن آن ها سایت را به صورت صحیح به شما نمایش می دهد. همچنین سیستم های بهینه سازی سرعت سمت سرور نیز، آن بخش هایی از سایت که درخواست های بیشتری دارد را در پایگاه موقت خود نگه می دارد که در هنگام درخواست آن، نیاز به جستجو و بازخوانی مجدد نباشد و بلافاصله اطلاعات تحویل داده شود.
و از دیگر مزایای سایت های داینامیک، مدیریت ساده آن است که همانطور که ذکر شد این سایت ها توسط نرم افزارهای تحت وب به نام سیستم مدیریت محتوا آماده سازی می شوند که با استفاده از این سیستم ها، مدیران و توسعه دهندگان وب سایت بدون نیاز به آگاهی از قوانین کدنویسی و زبان های برنامه نویسی، در محیط مدیریت کاربرپسندانه سیستم مدیریت محتوای خود به سادگی چند کلیک بر روی گزینه های ایجاد متن جدید و ورود متن خود، به سادگی صفحه جدیدی برای وب سایت خود ایجاد می نمایند و آن را مدیریت و ویرایش می نمایند که صورت کلی می توان گفت به نوعی وب سایتی هوشمند برای شما ایجاد می نمایند و…
حال این سوال پیش می آید که با این همه تغییر و تحول در دنیای وب و این همه مزایا اصلاً چرا باید به سایت های پایدار (استاتیک) نیز فکر کرد؟؟
سایت های پایدار (استاتیک)
سایت های داینامیک در عین تمام مزایا و کاربرد هایی که ذکر گردید، گاهی با توجه به کاربری شما ممکن است موجب کاهش سرعت وب سایت شما نیز شود. فرض کنید که سایت شما، کاربری خاصی دارد که بسیار ساده و محدود است و تعداد دفعات به روزرسانی و یا تغییر اطلاعات سایت بسیار اندک است و از طرف دیگر بازدید سایت شما بسیار بالا می باشد. در اینصورت با استفاده از راهکارهای نوین وبسایت های پویا، هر بار که درخواست یک صفحه از وب سایت شما به سرور ارجاع داده شود، میزبان باید اطلاعات متغیرهای آن صفحه را بازخوانی کرده و به همراه اطلاعات اصلی صفحه به مرورگر کاربر تحویل دهد. حال مثال خود را اینگونه در نظر بگیرید که هربار انجام این فرآیند درخواست، بازخوانی و پاسخ 0.2 ثانیه پردازشگر زمان ببرد، در اینصورت برای نمایش این صفحه به 1000 بازدیدکننده زمانی قریب 200 ثانیه پردازشگر نیاز خواهد بود و این به معنای اتلاف منابع میزبان و یا عدم استفاده بهینه از منابع و در نتیجه کاهش سرعت وب سایت شما می باشد. در حالیکه اگر این صفحه ثابت و پربازدید به صورت پایدار پیاده سازی شود، تنها وظیفه سرور این است که در هر بازدید سرور تنها همان صفحه آماده را به مرورگر تحویل دهد و این به معنای کاهش زمان سرعت اجرای سایت می باشد.
سایت پایدار <–> سایت پویا
در نهایت همانطور که ذکر شد، امروزه سایت های پویا (داینامیک) سهم بسیار زیادی از سایت های جهان را به خود اختصاص داده اند و البته گاهی متناسب با نیاز کاربران ممکن است راهکار سایت پایدار نیز راهی مناسب به نظر برسد. به هر حال امروزه با استفاده از برخی پلاگین های caching و امکانات cache، می توان سایت های داینامیک را به گونه ای بهینه سازی کرد که در صفحاتی که اطلاعات ثابت هستند با استفاده از همین راهکار ذخیره سازی موقت آن بخش سایت را به صورت سایت استاتیک پیاده سازی کند و در نهایت هنگام بازدید صفحات ثابت این سایت داینامیک، سرور به مانند یک سایت استاتیک و پایدار رفتار کرده و منابع سرور به صورت بهینه مصرف گشته و در نتیجه سرعت بالای این صفحات حفظ می شود و در مورد سایر صفحات متغیر، سایت به صورت پویا رفتار خواهد نمود…