تفاوت صفحات استاتیک و داینامیک؟

۸  پاسخ

۳

در مورد صفحات داینامیک و استاتیک منظور این نیست که هر بار رفرش می‌کنی یه تغییری تو صفحه ایجاد بشه. مثلا وبلاگ‌هایی که با وردپرس درست می‌شن همه داینامیک هستن اما ممکنه ۱سال هم تغییری توی چیزی که می‌بینین ایجاد نشه. در حقیقت به صفحه‌ای که برای درست شدنش از یه نرم‌افزار (همون cms) استفاده می‌شه می‌گن داینامیک و صفحه‌ای که با html خالص و بدون زبان برنامه نویسی خاصی درست شده باشه می‌گن استاتیک و البته صفحه‌ی استاتیک بدون اینکه سمت سرور تغییری روش ایجاد بشه به شما نمایش داده می‌شه.

اما وب اپلیکیشن‌ها در حقیقت برنامه‌های کاربردی‌ای هستن که تنها تفاوتشون با برنامه‌های معمولی اینه که از طریق محیط مرورگر اجرا می‌شن. حالا بسته به مرورگر و وب اپلیکیشن ممکنه از html/js استفاده کنه یا چیزای دیگه مثل java applet یا flash. مثلا جی‌میل، وردپرس، آمازون، فیسبوک و … وب اپلیکیشن هستن.

پاسخ داده شده ۰۳:۳۵ - ۱۳۹۰/۰۲/۲۳ everplays۴۳۶۵
انصراف
۲

بعضی از سایتها هستن که مطالبشون به روز نمیشه یا اصلا لازم نیست که به روز شه مثل سایت بانکها و سایتهای که یک اپلیکیشن تحت وب هستند. این صفحات استاتیک محسوب میشوند.

ولی همه وبلاگها و سایتهای خبری و سایتهایی که به هر بار رفتن به صفحه اصلی مطلب جدیدی را میبینید ، صفحات داینامیک به شمار می آیند.

اکثر سیستم های مدیریت محتوا (cms) قابلیت این رو دارند که هم صفحات داینامیک (پویا) و هم استاتیک (ایستا) ایجاد کنند. از جمله همین ۹۵مویبل تایپ۹۵

پاسخ داده شده ۰۱:۲۱ - ۱۳۹۰/۰۲/۲۲ Miladsob۳،۱۹۹۱۹۶۲
انصراف
۲

برای اینکه تفاوت صفحه اصطلاحا استاتیک و داینامیک رو درک کنی، اول باید بدونی که Life Cycle یه درخواستی که به «وب‌سرور» می‌ره تا به براوز کلاینت برسه چیه.


وقتی که کاربر آدرس یه صفحه‌ای از سایت رو توی براوز وارد می‌کنه، Request به وب‌سرور می‌رسه و اونجا صفحه یا URI مورد‌نظرش پیدا می‌شه، یه «کاری*» روش اتفاق می‌افته و نهایتا یه بسته به براوزر کلاینت برمی‌گرده و براوزر این بسته و محتویات‌ش رو از طریق اِنجین‌ش خط‌به‌خط «تفسیر» می‌کنه.


نکته‌ای که وجود داره توی اون بسته که به کلاینت می‌رسه یه سری توضیحات به عنوان Response Header وجود داره به همراهِ فقط و فقط تگ‌های HTML، ولاغیر!


بنابراین وب‌سرور کد برنامه‌نویسی شده به زبان مثلا Java یا #C یا … به سمت کلاینت برنمی‌گردونه، بلکه اون‌ها رو داخل خود وب‌سرور «اجرا» می‌کنه و خروجی تولید‌شده فقط htmlی رو داخل بسته response می‌ذاره. این دقیقا همون پروسه‌ایه که چند خط بالاتر تحت عنوان «کار» ذکر کرده بودم.


حالا اگه اون «کار» داخل وب‌سرور اتفاق بیوفته، یعنی یه سری کد به یک زبان برنامه‌نویسی سرور‌-ساید وجود داشته باشه که می‌بایست اجرا بشه و خروجی html تولید کنه، به صفحه می‌گن داینامیک، اگه نباشه اصطلاحا می‌گن استاتیک.


حالا در همین راستا، وقتی یه «برنامه» مدیریت محتوا برای یه وب‌سایت «نوشته» شده باشه، بالطبع اطلاعات هر صفحه که داره generate می‌شه از طریق یه اپلیکیشن و به‌دنبال اون یه دیتابیس داره تولید می‌شه، و صفحات به صورت پیش‌فرض دارای محتویات نیستن، و محتویات هر صفحه در پی درخواست از اون آدرس خاص تولید می‌شه.


پ.ن: استفاده از javascript و در همون راستا Ajax هیچ ارتباطی به داینامیک بودن صفحات نداره! جاوااسکریپت اساسا برای پیاده‌سازی و برنامه‌نویسی کلاینت‌سایده که تکنولوژی Ajax که بهش اضافه شده، صرفا این «امکان» رو بهتون می‌ده که با وب‌سرورتون بدون نیاز به تغییر محتوای کل صفحه صحبت کنین. می‌تونین با استفاده از جاوااسکرپیت از وب‌سرور فقط یه‌سری محتوای استاتیک بگیرین.

پاسخ داده شده ۱۱:۰۷ - ۱۳۹۰/۰۲/۲۳ pestilencia۳،۹۸۰۴۱۳
انصراف
۰

ما که بالاخره نفهمیدیم هرکی یه چیز میگه اما از همه ی دوستان به خاطر توجه به سوال متشکرم

پاسخ داده شده ۱۱:۵۵ - ۱۳۹۰/۰۲/۲۴ ecr917۳۵۲۲۵۳۲
انصراف
۰

چرا اینقدر پیچیده‌ش می‌کنید: صفحه‌ای که فقط با html ساخته بشه (و css برای استایل دهی و..) میشه صفحه استاتیک. یعنی در اون از زبان‌های برنامه‌نویسی استفاده نشده باشه، صفحه استاتیکه.


برای مثال
شما تو سایتت یک فرم تماس داری و اون رو با چندین خط html و css و… ساختی، این صفحه میشه صفحه استاتیک، تا وقتی که شما با استفاده از زبان برنامه نویسی موردنظرت (مثلا php) با این فرم تماس کار بکنی، یا اعتبارسنجی بکنی و… اونموقع همین صفحه میشه، صفحه داینامیک.

پاسخ داده شده ۱۳:۵۹ - ۱۳۹۰/۰۲/۲۴ علیرضا۲،۳۲۸۱۳۲۴
انصراف
۰

پس به این نتیجه میرسیم که به طور مثال تو سایت بالاترین یه بخشی هست بنام پخش زنده که اخرین لینک ها و نظرات رو بدون رفرش صفحه نشون میده به این میگن داینامیک و مثلا همین سایت داناترین استاتیکه درست گفتم!!!

پاسخ داده شده ۱۲:۲۱ - ۱۳۹۰/۰۲/۲۳ ecr917۳۵۲۲۵۳۲
همین که شما پست یک نفر رو لایک می کنی و + رو می زنی و تغییر همینجا بدون رفرش اعمال میشه خبر از داینامیک بودن میده وینک - baback - ۱۲:۳۳ - ۱۳۹۰/۰۲/۲۳
نه! اشتباه می‌کنی کماکان. ببین، اون مثالی که تو ذهن شما مونده که «بدون رفرش صفحه …» داینامیک گفته می‌شه، کاملا غلطه. پیاده‌سازیِ تغییرات محتوا بدون رفرش شدن کل صفحه، فقط استفاده از تکنولوژی ajaxه و ربطی به سرور-ساید نداره. که ۱) اطلاعات تولید‌شده به صورت داینامیک ممکنه تولید بشه یا ۲) اطلاعات به صورت پیش‌فرض داخل یه فایل html موجود هست و اون صفحه استاتیک (بدون تغییر on the fly) به کلاینت برمی‌گرده. همین سایت داناترین که مثال زدی «قطعا» یه دیتابیس داره که وقتی یکی سوال / جواب وارد می‌کنه اطلاعات برای مراجعه‌های بعدی ذخیره باقی بمونه. و قطعا نمی‌تونه استاتیک باشه. چون یه برنامه‌نویسی سرور-ساید براش انجام شده. - pestilencia - ۱۵:۳۲ - ۱۳۹۰/۰۲/۲۳
۱
خیر اشتباهه! من می‌تونم یه صفحه‌ی اچ‌تی‌ام‌ال ساده هم بنویسم که تغییر کنه! که دلیل بر داینامیک بودن نیست. منظور از داینامیک بودن یا استاتیک بودن سمت سروره نه کلاینت. تو کلاینت به اچ‌تی‌ام‌های استاتیک همون اچ‌تی‌ام‌ال می‌گن و به اونایی که تغییر می‌کنن می‌گن دی‌اچ‌تی‌ام‌ال (که البته خیلی وقته من ندیدم لفظ دی‌اچ‌تی‌ام‌ال رو استفاده بشه). این چیزی که الان شما می‌گی دی‌اچ‌تی‌ام‌ال‌ه - everplays - ۰۶:۵۷ - ۱۳۹۰/۰۲/۲۴
دوستان من نمی دونم چه اسراری بر اینه که قسمتی از جواب من رو ببینید که مربوط به سمت کلاینت هستش!! **اما برای دوستانی که با گوگل به این صفحه میان روشن کنم که پاسخ های من اساسا(!!) غلط هستش و به پاسخ دوستان دیگه توجه کنند. با تشکر از everplays و pestilencia عزیز! - baback - ۰۸:۲۹ - ۱۳۹۰/۰۲/۲۴
انصراف
۰

به زبان ساده : صفحه استاتیک صفحه ایه که درست میشه و روی سرور سایت میمونه و هروقت آدرسش رو وارد کنی یا روی لینکش کلیک کنی، اون رو می بینی. اما صفحه داینامیک وجود نداره. اطلاعاتی که تو میخوای، از توی بانک اطلاعاتی سایت فراخوانی میشه، در یه صفحه قرار میگیره و بهت نمایش داده میشه. بعد هم از بین میره اون صفحه.
مثال صفحه داینامیک سایت بانکه. وقتی وارد حسابت میشی و میخوای گزارش حسابت رو ببینید. مشخص می کنی که از فلان تاریخ تا فلان تاریخ میخوام گزارش فلان حسابم رو ببینم. این اطلاعات از بانک اطلاعاتی فراخوانی میشه و در یه صفحه به شما نشون داده میشه. بعد هم اون صفحه حذف میشه.

«اما صفحه داینامیک وجود نداره» و «بعد هم از بین میره اون صفحه» کاملا غلطه!! صفحه‌ای که شما داری می‌گی داینامیک‌ه، باید وجود داشته باشه، وگرنه امکان نمایش نداره. صفحه داینامیک به صورت پیش‌فرض «محتوا» نداره، و محتواش رو داره از یه دیتابیس می‌خونه. اگه هم صفحه از بین بره (به هر دلیلی) امکان نمایش مجدد اون صفحه وجود نداره. - pestilencia - ۱۵:۳۴ - ۱۳۹۰/۰۲/۲۳
انصراف

با تشکر از دوستان عزیز که پاسخ دادند. من میخوام با یک مثال ساده تر تفاوت استاتیک و داینامیک بودن رو بگم. در یک صفحه استاتیک در زمانی که ما داریم اون رو مشاهده می کنیم هیچ تغییری در سورس برنامه که html هستش نمیفته و به فرض اگر بخوایم روی دکمه یا لینکی کلیک کنیم به طور حتم صفحه به طور کامل رفرش میشه تا درخواست ما رو به سرور ارسال کنه و اطلاعات مورد نیازمون رو از سرور دریافت کنه و برای ما نمایش بده!پس منظور اصلی ما از داینامیک و استاتیک در واقع همون تبادل اطلاعات با سرور و یا حتی با مورورگر هستش که باعث تغییر در سند html مربوط به اون صفحه میشه. طوری که با استفاده از java script که سمت مرورگر استفاده میشه ما می تونیم بدون رفرش شدن صفحه محتویات صفحه رو تغییر بدیم.وبا استفاده از تکنولوژی AJAX می تونیم تبادل اطلاعات با سرور داشته باشیم و محتویات صفحه رو بدون رفرش کردن تغییر بدیم. پس اگر یک صفحه از یک عکس متحرک استفاده کنه دلیل بر داینامیک بودنش نیست و اگر در یک صفحه فقط نوشتار وجود داشت اما این نوشتار بدون رفرش شدن قابلیت تغییر رو داشت نیر استاتیک نمیشه.
پس تفاوت اصلی تغییر تو سند html اون صفحه بدون رفرش شدن هستش که اگر قابل تغییر یود داینامیک و اگر نبود استاتیک!

پاسخ داده شده ۰۷:۱۷ - ۱۳۹۰/۰۲/۲۳ baback۲۷۳
pestilencia ممنون از دقت نظرت! شاید کامل نباشه اما کلمه “اساسا غلط” فکر می کنم کمی دور از واقعیت باشه! تغییر تو سند html فکر می کنم اساس جواب شما هم بود!!! - baback - ۱۱:۴۷ - ۱۳۹۰/۰۲/۲۳
نه، نبود! ببین، «تغییر تو فایل html» یعنی شما ورداری با جاوااسکریپت، اصطلاحا on the fly ساختار صفحه (DOM Elements) رو تغییر بدی. با این مدل تغییرات شما «اینترفیس داینامیک» داری نه صفحه داینامیک. منظورم اینه که می‌شه یه‌ وب‌سایت با تمام ریزه‌کاری‌هاش موجود باشه که همهء محتویات‌ش اصطلاحا Hard Code شده باشه و چیزی از دیتابیس نخونه، و شما N مدل کار ajaxی و تغییر تو دام‌المنت و … هم بکنی. این وب‌سایت چون زبان برنامه‌نویسی سرور-ساید نداره «داینامیک» محسوب نمی‌شه - pestilencia - ۱۴:۵۷ - ۱۳۹۰/۰۲/۲۳
فکر می کنم دوستان خودشون برداشت می کنن و احتیاجی به پافشاری نباشه دوست من! از لطفت به خاطر اطلاعاتی که دادی ممون - baback - ۱۸:۳۹ - ۱۳۹۰/۰۲/۲۳
برداشت؟؟ من یه مبحث فلسفی که ارائه نکرده بودم که به «برداشت شخصی» افراد نیاز باشه. صحبت‌های من یه سری دانش ثابت بود که یا شما بلد هستی یا به دایره دانش‌ت اضافه می‌کنه. پافشاری؟؟؟ بچه دبستانی نیستیم دیگه من و شما که بخوایم سر یه‌سری مسائل الکی، تعصبی با هم حرف بزنیم و قهر کنیم! شما دارین یه بحث غلط یا تقریبا غلطی رو مطرح می‌کنین و یه نکته به اشتباه توی ذهنتون مونده و منم دارم سعی می‌کنم اشتباه‌تون رو اصلاح کنم. در نظر بگیر که ۲ ماه دیگه یکی گوگل کنه و به این صفحه برسه و بخواد فرق صفحه استاتیک و داینامیک رو بدونه. ما مسئولیم در مورد حرف‌هایی که می‌زنیم، یا اینکه مشخصا ذکر کنیم که «به نظر من …» که خواننده در نظر داشته باشه که این حرف «نظر شخصی»ه نه جواب - pestilencia - ۰۳:۵۴ - ۱۳۹۰/۰۲/۲۴
۱
باباک جان یه نگاه به صفحه‌ی http://en.wikipedia.org/wiki/Static_web_page و http://en.wikipedia.org/wiki/Dynamic_web_page بنداز. البته ترجمه‌ی فارسی‌ش مشکل داره. - everplays - ۰۷:۰۰ - ۱۳۹۰/۰۲/۲۴
نمی دونم چرا نظر سابقم حذف شد. من البته تو جوابی که دادم قسمتی که به تبادل اطلاعات با مرورگر اشاره کردم، اشتباه کردم. درسته؟؟؟ اینکه از “اساسا غلط” استفاده می کنید کمی برام جای تعجب داره. شما می تونستید اشکالات من رو بگیری خیلی دوستانه! تا من هم استقبال کنم. اما شما به کل رد کردید! من نمی دونم شاید وقتی کد از سمت سرور کدی تولید میشه میاد، برای شما به زبان c میاد یا html!! قبول دارم پاسخم درست نبود ولی اساسا غلط نبود. با این وجود از شما سپاسگزارم که در اون مورد که ذکر کردم من رو از اشتباه در آوردید. - baback - ۰۸:۴۳ - ۱۳۹۰/۰۲/۲۴
everplays من تو صفحه ای که داید به نکته ای برخوردم که اینجا هم میزارم تا دوستان ببینند. با اجازه!
    :Two types of dynamic web sites
-Client-side scripting and content creation -Server-side scripting and content creation منبع هم همون لینک هایی که معرفی کردید! خوشحال می شم در این مورد هم برام توضیح بدید.
- - baback - ۰۹:۰۷ - ۱۳۹۰/۰۲/۲۴
ببین بابک جان. من دعوا نکردم، که می‌گی «دوستانه …». با این کلمه «اساسا» هم مثکه مشکل پیدا کردی، که خب این کلمه از نظر من یه «قید»ه برای توصیف یه صفت! یعنی خب اون توضیحی که دادی غلطه خب. من تو کامنت برای پست تو نوشتم «غلطه»، توضیح کلی و مشخصا اشکالات نوشته تورو (پانوشت) تو پست خودم مطرح کرده بودم. به هر حال اگه ناراحت شدی یا بهت برخورد یا … من معذرت می‌خوام، چون به هر حال می دونم که نوشته‌س و لحن نوشته معلوم نیست توش. - pestilencia - ۱۱:۲۳ - ۱۳۹۰/۰۲/۲۴
pestilencia عزیز ! لطفا یک نگاهی به این صفحه بنداز! اگر تمایل داشته باشی می تونم برات ترجمه اش هم بکنم: http://en.wikipedia.org/wiki/Dynamic_web_page اما خب واقعا با همون کلمه مشکل داشتم :دی از دقت نظرت تشکر می کنم. بالاخره پیش میاد :پی - - baback - ۱۲:۴۹ - ۱۳۹۰/۰۲/۲۴
انصراف
انصراف