راهاندازی سایت، از خرید دامنه، هاست یا سرور و طراحی سایت انجام شده است. حال بایستی این سایت همیشه در دسترس باشد تا بتواند سرویسدهی کند.
چطور کاربر به یک سایت متصل میشود؟
در این قسمت اطلاعات تخصصی ارائه میشود تا بدانید که connections به چه صورت رخ میدهد. افرادی که تخصصی در زمینه نرمافزار اطلاعات دارند و دروس اینترنتی یا شبکه را گذراندهاند درک بهتری از این اطلاعات خواهند داشت.
برای دیدن سایت، مرورگر خود را باز کرده و در قسمت Address bar اسم سایت مورد نظر را وارد میکنید، دکمه Enter را میزنید. در همان لحظه یک اتفاقی بدین صورت رخ میدهد که آن اسم دامنه قرار است تبدیل به یک سری اعداد شود و به آن اعداد IP گفته میشود.
IP چیست؟
IP (Internet Protocol) کد یا آدرسی است که به دستگاههای متصل به اینترنت اختصاص داده میشود.
زمانیکه نام دامنهای را وارد میکنید، بدین صورت است که هر دامنه یک آدرس یا IP دارد. همانند هر انسان که آدرس محل سکونتی مختص خود دارد سرورها یا هاستها هم بدین صورتاند و دارای یک آدرس یا IP هستند. به محض وارد نمودن آدرس یک دامنه، Web Browser شما در دستگاهتان جستجو میکند که آیا جدولی در دستگاه وجود دارد که بداند این دامنه چه IPای دارد.
در دستگاه شما با وجود استفاده از هر نوع مرورگری یک فایلی بهنام Hosts وجود دارد.
فایل Hosts در ویندوز
این فایل در ویندوز در مسیر c:\windows\system32\drivers\etc وجود دارد. این نکته را بدانید که فایل Hosts، در تمام نسخههای ویندوز از xp تا ویندوز 10 در همین مسیر قرار دارد.
فایل Hosts در لینوکس
در لینوکس برای دسترسی به فایل Hosts، به /etc/hosts مراجعه کنید.
فایل Hosts چه نوع عملکردی دارد؟
فایل Hosts شبیه به DNS (Domain Name Server) عمل میکند که وظیفه تبدیل اسم به IP را برعهده دارد. زمانی که این فایل را باز کنید جدولی حاوی دو ستون است که نمایش میدهد یک اسم متناظر با آن آدرس، چه IPای دارد. اگر در فایل Hosts یک آدرسی تعریف شده باشد آن را نمایش میدهد.
بهعنوان مثال؛ yahoo.com و آدرس آن با اعدادی نظیر 172 در فایل Hosts دستگاه شما وجود دارد که چنین آدرس و عددی برای ایران است و از آنجایی که yahoo.com در آمریکاست لذا این IP را درآورده و به سراغ IP اصلی دامنه میرود و در طول مسیر روترها و هابهای مختلفی را میگذراند تا به آن IP اصلی و سروری که yahoo به ایرانیها ارائه سرویس میدهد، برسد.
yahoo سرورهای بسیار زیادی دارد. زمانیکه آدرس yahoo.com را در Address bar مرورگرتان وارد میکنید، دیدهاید که تغییری در آدرس ایجاد میشود و بهعنوان مثال؛ آدرس en-maktoob.yahoo.com نمایش داده میشود، لذا این نزدیکترین سروری است که برای ایرانیها سرویس میدهد.
ترسیم یافتن IP یک آدرس در اینترنت
پس از آنکه دکمه Enter را میزنید چه اتفاقی رخ میدهد؟
بهطور معمول آدرس IP دامنه مورد نظر در سیستم شما یافت نمیشود. در چنین مواقعی به مرحلهای بالاتر میرود. شما با هر نوع شبکه اینترنتی که متصل شدهاید، آن آدرس به شبکه والد خود متصل میشود. بهعنوان مثال؛ زمانی که از اینترنت مخابرات استفاده میکنید آن یک سرویسدهنده سروری دارد که ممکن است آن سرور از این نوع جداول IP که به آن Lookup Table میگویند، داشته باشد.
بهطور معمول برای آنکه به سرورهای yahoo برسیم بایستی از ایران خارج شویم و برای رسیدن به آن سرور بایستی مسیریابهای را طی کنیم تا به آن سرویسدهنده اصلی برسیم، بلاخره این یک نوع IP دارد تا نیاز کاربر را پاسخ دهد. زمانیکه به سرور ارسال درخواست میشود، سرور در حال Listen (گوش دادن) است. در کنار واژه IP واژه دیگری به نام پورت (ports) یا درگاه به صورت فیزیکالی و نرمافزاری وجود دارد.
پورتهای نرمافزاری
انواع مختلفی از پورتهای نرمافزاری وجود دارد ولی در این قسمت تنها با یک پورت بهنام پورت 80 که روی Protocol (HTTP) کار میکند.
زمانیکه بهوسیله Web Browser (مرورگر) ارسال درخواست میکنید. درخواست شما از IP دستگاهتان به همراه پورت 80 ارسال میشود (یعنی از درگاه پورت 80 ارسال میشود). از سمت دیگر آن مسیر را طی میکند تا به سرور اصلی که روی پورت 80 منتظر Listen است، برسد.
اولین ارتباط با سرور به چه صورت است؟
اولین ارتباط با سرور با وجود آنکه درخواست دارید سایت x.com را مشاهده کنید، بدین صورت است که در ابتدا میسنجد که شما چه کسی هستید و اعتبارسنجی میکند.
اعتبارسنجی در هدرها یا بستههای اطلاعاتی که همراه درخواست ارسال میکنید، اتفاق میافتد. شما همراه درخواست خود اطلاعات بسیاری را ارسال میکنید. اطلاعاتی نظیر نوع مرورگر، IP، سیستم عامل، User agent و اطلاعات بسیاری که ممکن است در طول مسیر به آن پیوست شود تا به سرور برسد.
اگر همه این موارد طبق قوانین درست باشد، پاسخ شما را میدهد. احتمالا اگر اطلاعاتی کسب کند که هکر هستید یا از ایران آمدهاید و به دلیل تحریمها و سایر موارد دیگر که وجو دارد به شما پاسخ دیگری نظیر ارور 403 Access Denied را میدهد. در اینجا تشخیص داده است که از ایران هستید.
زمانیکه سرور شناخت پیدا کرد و پاسخ داد اصطلاحا Handshake (دست میدهد) میکند. پس از آن سرور به درخواست شما شروع میکند به ارسال بازخورد دادن و بررسی میکند که سایت x.com در دستگاه سرور (سرور یک دستگاه فیزیکالی است که سرویسدهی میکند) وجود دارد یا خیر. ممکن است در سرورها نظیر هاست اشتراکی علاوه بر سایت شما تعداد زیادی سایت هم وجود داشته باشد. زمانی که سایت در لیست آن سرور باشد نمایش داده و جزو Site Available آن وب سرور میشود.
وبسرورهای LiteSpeed ،Apache و Nginx هر سه از روش Site Available استفاده میکنند.
زمانیکه IP آدرسی در سرور باشد چه اتفاقی میافتد؟
زمانیکه IP آدرسی در سرور وجود داشته باشد یک فایل یا دایرکتوری مخصوص آن فایلهای سایت وجود خواهد داشت. همانند فایلهای cPanel یا پنلهای دیگر که در اختیار شما میگذارد. هر فایلی که آنجا گذاشتهاید وب سرور آن را گرفته و اجرا میکند و خروجی آن بهصورت HTML است و خروجی HTML را از طریق همان پورت (مسیر) آن را به IP دستگاه شما ارسال میکند، زیرا مرورگر منتظر بازخورد است تا آن سایت را نمایش دهد.
میزان زمان درخواست و دریافت چقدر اهمیت دارد؟
میزان زمانی که ارسال و دریافت اتفاق میافتد در available بودن سایت خیلی اهمیت دارد. بهمحض آنکه درخواست میرسد و مجدد بازگردانده میشود همراه آن فایل HTML، یک کد ارسال میشود. به آن کد HTTP Response Codes گفته میشود.
HTTP چیست؟
HTTP مخفف Hyper Text Transfer Protocol پروتکلی است که وظیفه انتقال و دریافت تحت وب را دارد و فعالیتی که انجام میدهد این است که صفحات وبسایتها ایجاد شود تا شما قادر به مشاهده آن باشید.
Response Codes چه معنای دارد؟ هرکدام از Response Codes یک معنایی دارند.
کد 200 به چه معناست؟ اگر سایتی که درخواست بازدید آن را داریم، همه موارد طبق قانون صحیح باشد و بخواهد نتیجه Successful را بازگرداند، آن کدی که همراه فایل داکیومنت یا HTML میآید به آن کد 200 یا Successful گفته میشود، در چنین شرایطی آن صفحات را ترسیم یا رندر میکند.