سایت چیه ؟چطوری کار میکنه؟چی به چیه دقیقا؟

سلام امروز میخام در مورد اینکه سایت چیه براتون بگم حالا شاید بگید خب یعنی چی؟یعنی کسی نمیدونه سایت چیه؟البته که آره ولی من خودم اولین بار که از اینترنت استفاده کردم این سوال برام پیش اومد که این سایتا از کجا میاد اصلا؟فکر میکردم که چجوری میشه که اینطوری میشه:)))))))))))خب من نمیدونستم و این مقاله رو هم برای کسایی مینویسم که اصلا نمیدونن چیه و شایدم وقت ندارن یه هفته برن دنبال اینکه چی به چیه و جستجو کنن تو اینترنت و اینا.خلاصه،گیر ندین ،مرسی اه :))))))))))از کم شروع میکنم و در مورد تجهیزاتش میگم تا اخر.پس تا اخر کامل بخونید.سایت در واقع یه برنامه هستش که روی یه کامپیوتری قرار میگیره و نصب میشه (البته نصب نمیشه،میگم براتون) و بعد از طریق اینترنت ادمای دیگه میتونن بهش دسترسی پیدا کنن(فراخوانیش کنن)حتی روی کامپیوتر خودتون هم میتونید یه سایت بزارید(البته به شرطها)چه شرطی؟کامپیوتر شما باید اول یه اینترنت پر سرعت داشته باشه و همیشه ی خدا وصل باشه به اینترنت یعنی بیستو چهار ساعت روز باید روشن باشه. ممکنه که داغ کنه پس باید سیستم خنک کننده هم داشته باشه که داغ نکنه در همین حد و یسری چیزا هم باید روش نصب بشه دیگه که اماده ی گذاشتن یه سایت روش باشه.سایت گوگل هم کامپیوتر داره ولی این کامپیوتر خیلی بزرگه .خیلیییییعکسشو ببینید:اتاق سرور گوگلبه زبانی ساده اینا همشون یه کامپیوتر خیلی بزرگه؟اما چرا؟میگم براتونسایت های معمولی و کوچیک کامپیوترشون اینطوریه تقریبا:سرور معمولیدر واقع سایت توی اینا ریخته میشه و شما هربار که یه سایتو باز میکنید به این کامپیوترها وصل میشید از طریق اینترنت.(اما ما به این کامپیوتر ها میگیم سرور یا کامپیوتر سرور ،البته ما برنامه نویساها.همه نمیگن بعضیا چیزای دیگه ای بش میگن،سخت نگیرید پس قرار شد از این به بعد بجای کامپیوتر سایت بگیم سرور سایت یا سرور،اوکی؟)این سرور ها همیشه به اینترنت پر سرعت وصل هستن و نباید که قطع بشه وگرنه سایت از شبکه خارج میشه.(این یه نکته)هرجایی هم میشه گذاشتشون فقط بهتره که جایی باشه که نمناک نباشه خنک باشه و معمولا میان یه کولر گازی میزارن اونجا(کولر آبی باعث ایجاد رطوبت میشه که سرور رو نابود میکنه)که خنک بشه و نورخورشیدم بش نتابه.و کسی هم رفتو امد نکنه چون کمتر گردو خاک وارد سرور بشه ،مثل سیستم خودتون که بعضی وقتا گردگیری میخادبخاطر اینکه گردو خاک رفته توش.(مثل عکس سرور گوگل که اون بالا هستش یه اتاق یا یه سوله ی خیلی بزرگ گذاشتن که همشون اونجان و فقط عده ی خاصی میتونن برن توش چون علاوه بر اینا این تجهیزات گرونن یه مقدار)خب این تا اینجا،اما اگه فرضا ما یه سایت داشته باشیم اما کامپیوترش نبود،اونوقت چی؟یسری شرکت ها هستن که این سرور ها رو اجاره میدن و میشه با پرداخت پول ازشون یه سرور کرایه کرد.البته شما سرور رو برنمیدارین بیاریدش بزارید توی خونتونا.فقط یه دسترسی بهتون میدن که میتونید به اون سرور از طریق اینترنت وصل شید و سایتو بزارید روش و اون سرور تو اتاق سرور اون شرکته میمونه و فقط شما یه پسورد و نام کاربری و یه ادرس ip دارین از اون سرور(ip چیه؟میگم واستون).خب پس همه میتونن به هر سروری وصل شن دیگه و مفتی استفاده کنن؟نه دقیقا.یسری محافظت هایی هم میشه دیگه بالاخره مثل اینکه برید هتل و یه کلید بتون میدن شاید برید دزدکی توی هتل توی قسمت اتاق ها و فرضا هم که محافظ ها رو پیچوندین ولی تا کلیدش نباشه نمیتونید وارد اتاق ها بشید،این سرور هم همینطوریه مثل یه هتل میمونه که شما یه اتاق گرفتید و سایتتونو توش گذاشتین، چفتو بستم داره :))))))))))))خب بریم سر وقت خود سایت:همونطور که قبلا هم گفتم سایت یه برنامه هستش مثل برنامه های کامپیوتر،منتهی این برنامه یکم فرق میکنه،چون باید یجوری این اجرا بشه و بقیه بتونن ببیننش.و یسری تنظیمات میخاد.مثلا من خودم بعدها که اینارو فهمیدم گفتم خب چطوری اجرا میشه؟حالا در مورد تکنولوژی های ساخت سایت بعدها مینویسم ولی در حال حاضر فکر کنید که یه سایت نوشتین.توی یه سرور شما نیاز دارید که یک وب سرویس و یه سیستم مدیریت دیتابیس داشته باشید.اما اینا چین؟در واقع این دوتا ،برنامه ی کامپیوتری هستن و مثل فتوشاپ روی سرور (کامپیوتر سایت) نصب میشه و تمام.مشهور ترین وب سرویس دنیا به اسم apache tomcat و معروف ترین سیستم مدیریت دیتابیس mysql هستش.توی وب سرویس شما سایتتونو قرار میدین و توی سیستم مدیریت دیتابیس جداول دیتابیسی تونو قرار میدین و با یه سری تنظیمات اماده ی اجرا میشه سایتتون.بعضی وقتا اسم کانفیگ سرور میاد وسط که این به این معنی هستش که شما این آپاچی تامکت و مای اسکیوال خودتونو نصب میکنید و یسری تنظیماتی نظیر ویندوز دفندر و فایروال و... رو ، روی سرور خودتون انجام میدین رو بهش میگن کانفیگ سرور .که خب شما برای اینکه اینارو بدونید کافیه که اسم هر کدومو تو اینترنت سرچ کنید و تمام .حالا خود سایت چطوری کار میکنه ؟شمای کلی همانطور که در تصویر میبینید اطلاعاتی که شما میفرستید مثل کلیک روی دکمه ی سایت ،یک در خواست(با فلش نمایش داده شده) از سمت کامپیوتر کلاینت شما (مرورگر ) به سمت سرور ارسال میشه که این درخواست بعد به وب سرویس آپاچی تامکت تحویل داده میشه و این وب سرور برنامه ی شمارو که توی وب سرویس است(web application) رو مجبور به اجرا میکنه و این عملیات در مواردی که لازمه مثل ثبت نام سایت ،اسم و ایمیل و ... افراد را در مای اسکیوال ذخیره میکنه و بعد از پردازش اطلاعات (ذخیره ،حذف ،تغییر ) به سمت کامپیوتر شما ارسال میشه و این اطلاعات توسط مرورگر شما پردازش و بصورت یک صفحه (بخوانید سایت ) براتون نمایش داده میشه .دقت کنید که در خواست های شما شامل رشته ای از اطلاعات از کامپیوتر شما ارسال و از طریق سیم تلفن و اینترنت وارد کامپیوتر سرور میشه . هم چنین رشته ی پاسخ های شما نیز به همین صورت وارد کامپیوتر شما میشه و بعد از پردازش توسط مرورگر نمایش داده میشه .البته به همین سادگی نیست ولی شکل ساده شده ی این عمل به همین صورت اجرا میشه .شاید بپرسید که اپلیکیشن های موبایل چطوری هستن ؟ تقریبا اونا هم همین گونه عمل میکنن با این تفاوت که در کامپیوتر مرورگر وظیفه ی ارسال اطلاعات رو داره ولی در موبایل بجای مرورگر اپلیکیشن درخواست هایی رو ارسال میکنه( دوباره میگم منظور از درخواست هر عملی که توسط شما اجرا میشه مثل کلیک رو دکمه ای از سایت ) .حالا شاید براتون سوال پیش بیاد که این زبانهای برنامه نویسی که میگن قضیش چیه ؟هر کدوم از این قسمت هایی که تو شکل دارین میبینید با یه زبان نوشته میشن.مثلا اون قسمتی که توسط مرورگر شما نمایش داده میشه که شما به اون میگید سایت ،اون قسمت بصری با زبانهای سمت کلاینت نظیر html,css,javascript نوشته میشناون قسمتی که مسئول پردازش هست(web application ) اون رو با زبانهای php ,java,python,....نوشته میشه . ولی خب این زبانها نمیتونه داده ها را توی مای اسکیوال ثبت کنه و از یه زبان دیگه کمک میگیره که اسمش هست sql.یه مثال بزنم:مثلا شما ایمیل خودتون رو وارد میکنید و دکمه رو میزنید و درخواست وارد سرور میشه .زبان مثلا php میاد و از طریق sql میبینه که ایا ایمیل شما توی مای اسکیوال ثبت شده یا نه و اگه ثبت نشده بود میاد و پاسخ میده که شما روی صفحه ممکنه ببینید که نوشته (ایمیل شما ثبت نشده).که این مورد نوشته هم توسط html,css,javascript هندل میشه.البته یه تعریف دیگه ای هم هست بنام back_end و front_end .زبانهای html,css,javascript رو میگن زبانهای front_end .هرچی زبان که توی قسمت سرور هستش رو میگن زبانهای back_end.اما یه نکته اینکه زمانی که شما از توی گوگل یه سایت رو باز میکنید در واقع دارید اون سایت رو دانلود میکنید (html,css,javascript).و بعدش روی سیستمتون میمونه تا زمانی که سایتو ببندین و باز کردن دوباره ی آن نیازمند دانلود دوباره است .ولی توی اپلیکیشن ها این قسمت بصورت یک برنامه اماده روی سیستم خودتون نصب میکنید و لازم نیست که هربار دانلودش کنید .تمامی نکاتی که گفته شده برای درک بهتر به کسانیه که میخان یه دید کلی داشته باشن.مثلا من خودم باید اول یه دید کلی داشته باشم تا وقتی روی هر قسمت دقیق میشم درست اونو یاد بگیرم ولی بعضیا اول جزئیاتو باید یاد بگیرن بعدش کل قضیه رو براشون شرح بدی.حالا کساییکه میخان تو حوزه ی برنامه نویسی کار بکنن میتونن روی هر قسمت سرچ کنن و بیشتر در موردش بخونن.البته خب میتونید دیگه متوجه بشید که برای یادگرفتن برنامه نویسی سایت باید از زبانهایی به ترتیب :html بعدcss بعدjavascriptبعد یکی از زبانهای سمت سرور نظیر php , java, python,.... رو انتخاب کنید و در اخر یا همراه با یادگیری این زبان ،زبان sql رو هم یادبگیرین .امیدوارم مفید واقع بشه .سعی جوری بنویسم که همه بتونن این رو درک کنن. اگه براتون مفید بود حتما منو دعا کنید.برای من دعا خیلی مهمه.تشکر از شما که وقت گذاشتید و مقاله ی منو خوندین:))))))