مدیر ارشد فنآوری اطلاعات و بنیانگذار شرکت فیوتک، با تجاربی در زمینه مدیریت، برنامه نویسی سمت سرور و امنیت سایبری
یک وبسایت چگونه کار میکند؟
در این مقاله قصد دارم به معرفی نحوه عملکرد یک وبسایت بپردازم.
همه ما کم و بیش با مفهوم وبسایت یا همان صفحات وب آشنایی داریم، اما شاید ندانیم یک وبسایت دقیقا چگونه کار میکند. در ادامه شما یک دید کلی از قسمتهای تشکیل دهنده وبسایتها، نحوه عملکرد و تعامل با آنها پیدا خواهید کرد.
وبسایت (website) چیست؟
یک وبسایت مجموعهای است از داکیومنتها (شما بخوانید اسناد) و فایلهای خاصی شامل متنها، تصاویر، لینکها (همان پیوندها)، رنگها و هرآنچه شما در یک وبسایت مشاهده میکنید، که با کنار هم قرار گرفتنشان یک صفحه وب را تشکیل میدهد. دسترسی به وبسایت ها معمولا از طریق یک نام دامنه (domain name) مانند www.teclog.ir که به کامپیوتر شما دستور میدهد برای نمایش این وبسایت باید از کجا به فایلهای مورد نیاز آن دسترسی داشته باشد. نام دامنه در واقع مانند یک آدرس است در دنیای اینترنت.
مرورگر (browser) چیست؟
وبسایتها توسط مرورگرهای وب (web browser) قابل دسترسی خواهند بود. مرورگرهای وب نرمافزارهایی هستند که توانایی دانلود و نمایش وبسایت ها و اجزای تشکیل دهنده آنها را دارند. به عبارت دیگر برای دسترسی به وبسایت ها و مشاهده عکس، متن، ویدیئو و … در آنها باید از مرورگرهای وب استفاده کرد. شما با وارد کردن نام دامنهای مانند www.teclog.ir در مرورگرها قادر خواهید بود تا به محتوای مربوط به این آدرس درسترسی پیدا کنید. با وارد کردن آدرس www.teclog.ir در مرورگرهای محبوبی نظیر موزیلا فایرفاکس گوگل کروم و سافاری در واقع به مرورگر دستور میدهید تا از این آدرس فایلهای گوناگون را به نحوی که برای شما قابل مشاهده باشد درآورد و یکجا نمایش بدهد.
سند اچتیامال (HTML document) چیست؟
صفحات وب همگی با زبان نشانهگذاری HTML نوشته میشوند و مرورگرها در واقع این داکیومنتهای (اسناد) HTML را به نحوی که ما بتوانیم مشاهده کنیم و از آنها استفاده کنیم ترجمه میکنند. HTML مخفف عبارت Hyper Text Markup Language است که واژه مناسبی برای ترجمه آن به ذهنم نمیرسد.
متنها، تصاویر، رنگها و … همه در فایل HTML و با پسوند .html ذخیره میشوند. مرورگرها به دنبال فایلهایی با پسوند .html هستند تا بتوانند محتوای آن را برای شمل نمایش بدهند. البته در آینده دقیقتر بررسی خواهد شد که برخی از محتواهای یک وبسایت ممکن است پسوندهای دیگری داشته باشند (مانند یک فایل تصویر که ممکن است با پسوند .png ذخیره شده باشد) اما در فایل HTML به آن اشاره شده است و در نهایت این فایل HTML است که توسط مرورگرها بررسی و نمایش داده میشود.
میزبان وب یا همان وب سرور (web server) چیست؟
حالا میدانیم یک وبسایت در واقع شامل یک سری فایل HTML و دیگر فایلهای وابسته به آن است. تمام این فایلها روی کامپیوترهایی قرار میگیرد که وب سرور (web server) نامیده میشوند. هنگامی که شما آدرسی را در مرورگر وارد میکنید در واقع مرورگر از وب سرور آن وب سایت درخواست میکند که فایلهای مورد نیاز برای نمایش آن وب سایت را در اختیارش قرار دهد.
میتوان گفت وب سرورها چیزی غیر از همان کامپیوترهای خانگی نیستند و مانند آنها شامل سیستم عامل، تعدادی فایل و فولدر (شما بخوانید پوشه) و … هستند. از ویژگیهای وب سرورها اتصال به اینترنت پرسرعت و حجم بالای فضای ذخیرهسازی اطلاعات (مانند هارد دیسک ها در کامپیوترهای شخصی) است. اما مهمترین ویژگی وب سرورها این است که قادر اند به درخواست بازدید کنندگان یک وب سایت که از طریق مرورگرها برای آنها ارسال میگردد پاسخ دهدند. وب سرور های سایت های پر بازدیدی مانند www.digikala.com روزانه باید به میلیونها درخواست مختلف کاربران از سراسر ایران نظیر توضیحات گوناگون محصولات، تصاویر، سفارشهای خرید و … پاسخ دهند.
زبانهای سمت سرور (server-side) و زبانهای سمت کاربر (client-side) چیست؟
همانطور که گفته شد HTML زبانی است که توسط مرورگرهای وب برای نمایش وب سایتها استفاده میگردد. البته زبانها و تکنولوژیهای دیگری نیز در این حوزه وجود دارد مانند CSS و JavaScript و … که در آینده راجع به آنها بیشتر خواهیم آموخت. به تمام این زبانها و تکنولوژیها، زبانهای سمت کاربر (client-side languages) و به برنامهنویسی در این حوزه برنامهنویسی سمت کاربر (client-side programming) یا برنامهنویسی فرانتاند (front-end programming) میگویند.
در حالی که HTML زبانی است که توسط مرورگرهای وب برای نمایش وب سایت ها استفاده میشود، سرورهای وب نیز از زبانهای دیگری برای پردازش درخواستها، مدیریت اطلاعات و فایلها، ذخیره سازی اطلاعات و … استفاده میکنند. این زبانها و تکنولوژیهای مورد استفاده در آنها زبانهای سمت سرور (server-side languages) و برنامهنویسی در این سمت را برنامهنویسی سمت سرور (server-side programming) یا برنامهنویسی بکاند (back-end programming) مینامند. زبان هایی نظیر NodeJs و PHP و ASP و …
وب سایتها چگونه کار میکنند؟
هنگاهی که یک آدرس وب سایت را در مرورگر خود وارد میکنید، مرورگر شما درخواستی را برای یک وب سرور که در آن فایلهای مربوط به آن وب سایت قرار دارد، ارسال می کند. مرورگر فایلهای HTML، تصاویر، فیلمها و … را دانلود میکند و به شکلی قابل نمایش در میآورد. در فضای توسعه وب (web-development)، تکنولوژیهای مربوط به پردازش و نمایش اطلاعات در مرورگر را فناوریهای فرانتاند یا سمت کاربر مینامند.
وقتی به عنوان مثال با استفاده از فرمها در صفحات وب، اطلاعاتی را نظیر اطلاعات کارت اعتباری خود برای یک وب سایت ارسال میکنید این اطلاعات توست تکنولوژیهای مربوط به سرور مدیریت و پردازش میگردد، پاسخ آن آماده و برای شما ارسال میگردد. این زبانها که وظیفه مهم ارتباط با پایگاههای داده (data base) را نیز بر عهده دارند به عنوان فناوریهای بکاند شهرت پیدا کردهاند.
در ادامه قصد دارم مطالبی را در مورد برنامه نویسی سمت کاربر یا همان فرانتاند با شما در میان بگذارم. مقاله بعدی به زبان HTML خواهد پرداخت.
مطلبی دیگر از این انتشارات
ساختن اولین صفحه وب با HTML
مطلبی دیگر از این انتشارات
مقدمهای بر الگوی Backend For Frontend یا BFF قسمت اول
مطلبی دیگر از این انتشارات
کرونا در سازمان ما