پروتکلهای لایه Application، برای نرمافزارهایی که بر روی کامپیوتر اجرا میشوند، سرویسهایی را ایجاد میکند تا بتوانند از طریق شبکه اطلاعات را منتقل کنند. توجه داشته باشید که لایه Application خود نرمافزار را تعریف نمیکند، بلکه سرویسهای مورد نیاز نرمافزار را تعریف میکند. برای مثال، پروتکل HTTP در لایه Application معین میکند که چگونه نرمافزارهای مرورگر اینترنت، محتوای یک صفحه وب را از یک وب سرور دانلود کنند. به طور خلاصه، لایه Application نقش یک رابط بین نرمافزار در حال اجرا بر روی کامپیوتر و شبکه را ایفا میکند.
مطمئنا امروزه، محبوبترین نرمافزار لایه Application نرمافزارهای مرورگر وب میباشند. بسیاری از شرکتهای تولید کننده نرمافزار در حال تغییر نرمافزار خود و ایجاد دسترسی به آن از طریق مرورگر وب هستند، و یا این کار را انجام دادهاند. و خوشبختانه، استفاده از مرورگر وب ساده است. شما نرمافزار را بر روی کامپیوتر خود اجرا کرده و با تایپ نام یک وب سایت، صفحه وب آن را مشاهده میکنید.
چه اتفاقی رخ میدهد که یک صفحه وب بر روی مرورگر وب شما نمایش داده میشود؟
فرض کنید باب مرورگر خود را اجرا میکند. مرورگر باب به صورت پیشفرض تنظیم شده تا در ابتدا از روی وب سرور لری صفحه پیشفرض این سرور را اجرا کند. منطق اصلی این روند مطابق شکل ۱-۳ میباشد.
درخواست اولیه باب در واقع از لری میخواهد تا صفحه خانه خود را برای او ارسال کند. نرمافزار وب سرور لری هم به گونهای تنظیم شده است که میداند صفحه خانه درون فایلی به نام home.htm میباشد. باب هم فایل را از لری دریافت میکند و محتویات آن را بر روی صفحه مرورگر نمایش میدهد.
با نگاهی دقیقتر، این مثال نشان میدهد که چگونه نرمافزارها (بویژه نرمافزارهای مرورگر) بر روی کامپیوتر، از یک پروتکل لایه Application مدل TCP/IP استفاده میکنند. برای ایجاد درخواست یک صفحه وب و گرفتن محتویات آن از وب سرور، نرمافزارها از پروتکل HTTP استفاده میکنند.
آقای “تیم برنر لی” اولین مرورگر وب و وب سرور را در اوایل سال ۱۹۹۰ میلادی ایجاد کرد و تا آن زمان پروتکل HTTP وجود نداشت. برنر لی به HTTP این قابلیت را داد که بتواند محتوای یک صفحه وب را درخواست کند، به طور ویژه این قابلیت را به این پروتکل داد که هم بتواند درخواست فایل یک صفحه وب را به وب سرور ارسال کند و هم سرور بتواند محتوای آن فایلها را برگرداند. منطق کلی این پروتکل همان چیزی بود که در شکل ۱-۳ نشان داده شد، شکل ۳-۲ همان ایده را با جزئیات بیشتری از پروتکل HTTP نشان میدهد.
توجه داشته باشید که به یک آدرس وب، URL (Uniform Resource Locator) یا همچنین URI (Universal Resource Identifier) هم گفته میشود. که این آدرس با کلمه http شروع میشود که نشان دهنده این است که از پروتکل HTTP برای ارسال صفحه وب استفاده شده است.
برای گرفتن صفحه وب از لری، در قدم اول، باب یک پیام با هدر HTTP ارسال میکند. عموما، پروتکلها اطلاعات مورد نیازشان را در هدر قرار میدهند. این هدر HTTP شامل یک درخواست “get” برای یک فایل میباشد. درخواستها معمولا نام فایل را درخود دارند (در این مثال، home.htm میباشد)، یا اگر نام فایل ذکر نشده بود، وب سرور فرض میکند که باب صفحه پیشفرض را میخواهد.
قدم دوم در شکل ۲-۳ نشان دهنده پاسخ وب سرور لری میباشد. این پیام با یک هدر HTTP شروع میشود، با یک کد برگشت “۲۰۰”، که منظور از آن، تایید درخواست است. HTTP همچنین دارای کد برگشتهای دیگری هم میباشد، تا وب سرور بتواند تنیجه درخواست را به مرورگر اعلام کند. (برای مثال، اگر شما آدرس صفحهای را وارد کنید که اصلا وجود ندارد، پروتکل HTTP کد ۴۰۴ را برای آن برمیگرداند) بخش دوم پیام، شامل اولین قسمت از فایل درخواستی میباشد.
قدم سوم در شکل ۲-۳ یک پیام دیگر از سمت وب سرور لری را به سمت مرورگر باب نشان میدهد، اما این باربدون هدر HTTP. HTTP باقیمانده اطلاعات را در قالب چندین پیام ارسال میکند. به جای این که هدرهای HTTP را در هر پیام تکرار کند، به ارسال این هدر، یک بار در پیام اول اکتفا میکند، و به این ترتیب، این اطلاعات اضافی حذف میشوند.
در لایه Application پروتکلهای مختلفی وجود دارند که نحوه کار و هدف استفاده از آنها با پروتکل HTTP متفاوت است. و در درسهای آینده با نحوه عملکرد برخی از آنها آشنا میشویم. پروتکلهایی نظیر Telnet، DNS، FTP، DHCP، POP3، SMTP و غیره.