
پروتکل HTTP چیست؟ و چه کاربردی در شبکه دارد؟
پروتکل HTTP بر گرفته از عبارت Hypertext Transfer Protocol به معنای «پروتکل انتقال فرانوشته» است. این پروتکل برای دسترسی به دادهها در دنیای جهانی وب (World Wide Web (WWW)) به کار گرفته میشود. پروتکل HTTP میتواند برای انتقال دادهها به صورت نوشته ساده (Plain Text)، فرانوشته (Hpertext)، صدا (Audio)، ویدئو (Video) و نظایر آن به کار گرفته شود. این پروتکل به این علت «پروتکل انتقال فرانوشته» خوانده میشود که میتواند به ما امکان انتقال دادهها در محیطهای فرانوشتاری را بدهد. به همین خاطر ما میتوانید مستندات و پروندههای خودمان را با سرعت برای رایانههای دیگر موجود در شبکه ارسال کنیم. در ادامه این مقاله از سری مقالات آموزش شبکههای کامپیوتری به بررسی پروتکل HTTP میپردازیم.
پروتکل HTTP یک راه ساده برای بهرهگیری از پروتکل FTP را هم در اختیار ما قرار میدهد. پروتکل FTP در واقع برای ارسال فایلها از یک رایانه به رایانه دیگر به کار گرفته میشود. اما پروتکل HTTP یک روش سادهتر نسبت به پروتکل FTP را به کار میگیرد، زیرا در این روش تنها منظور ما ارسال نوشته و فایلهای چند رسانه ای است. در این روش هیچ کنترلی نسبت به اتصال خطوط برای انتقال فایلها صورت نمی گیرد.
پروتکل HTTP برای انتقال دادهها در فرمتهای MIME به کار گرفته میشود. این پروتکل میتواند به عنوان یک روش سادهتر از SMTP برای انتقال دادهها بین کلاینتها و سرورها به کار رود. تفاوتی که در اینجا میان HTTP و SMTP وجود دارد به خاطر شکل ارسال پیام از کلاینت به سرور و بالعکس است. پیامهای SMTP در ابتدا ذخیره شده و سپس به پیش رانده میشوند، در حالی که پیامهای HTTP به صورت بلافاصله دریافت و ارسال میشوند و هیچ عمل ذخیرهسازی در این میان انجام نمی گیرد.
پیکربندیهای HTTP
- پروتکل بدون اتصال (Connectionless Protocol): پروتکل HTTP یک پروتکل بدون اتصال است. در اینجا کلاینت یک درخواست HTTP را ایجاد میکند و سپس منتظر پاسخ آن از سوی سرور میماند. در زمانی که سرور درخواست را دریافت کرد، آن را پردازش میکند و سپس یک پاسخ متناسب برای کلاینت در قالب HTTP ارسال میکند و سپس ارتباط قطع میشود. ارتباط میان کلاینت و سرور تنها در زمان ارسال و دریافت درخواست و پاسخ آن برقرار است و سپس قطع میشود.
- رسانه مستقل (Media Independent): پروتکل HTTP یک رسانه مستقل است. در این روش انتقال داده تا زمانی که سرور و کلاینت بتوانند پیامها را تجزیه و تحلیلی کنند ادامه خواهد داشت. در اینجا نیازمند آن هستیم که هم کلاینت و هم سرور بتوانند از سروارههای MIME در پیامهای خودشان برای معرفی کردن همدیگر استفاده کنند.
- بدون حالت (Statless): پروتکل HTTP یک پروتکل بدون وضعیت یا حالت است. زیر هم سرور و هم کلاینت تنها در زمان برقراری تماس همدیگر را میشناسند. به خاطر ذات و طبیعتی که در این پروتکل به کار گرفته شده است، هر دو کلاینت و سرور اطلاعاتی که بین هم رد و بدل میشود را نگه نمی دارند. همچنین درخواستهای ارسال شده در اینجا ذخیره نمی شود.
تبادلات انجام شده با پروتکل HTTP
تصویر بالا نشان دهنده تراکنشهای HTTP انجام شده میان کلاینت و سرور است. در اینجا کلاینت درخواستی را به سمت سرور ارسال کرده و دادههای را طلب میکند. سرور به این درخواست با ارسال پیامی پاسخ میدهد و دادههای مورد نظر را برای آن ارسال میکند.
پیامها
پیامهای ارسال شده در پروتکل HTTP دارای دو نوع اصلی هستند
- درخواستها (Request)؛
- پاسخها (Response)؛
هر دو نوع این پیامها با یک فرمت ارسال میشوند.
پیامهای درخواست (Request Message)
پیامهای درخواست دراینجا به وسیله کلاینت ارسال میشوند و حاوی یک خط درخواست، سرواره (header) و بدنه (Body) که جزئیات درخواست را دارد، میشود.
پیام پاسخ (Response Message)
پیام پاسخ در اینجا به وسیله سرور به سمت کلاینت ارسال میشو و حاوی وضعیت خط (Status Line)، سرواره (Header)، و بدنه (Body) که جزئیات پیام را در خود دارد، میشود.
آدرس URL (Uniform Resource Locator)
در زمانی که یک کلاینت میخواهد به یک پرونده در اینترنت دسترسی پیدا کند، نیازمند آن است که یک آدرس را به سرور معرفی کند، در اینجا پروتکل HTTP برای سادگی کار اقدام به معرفی مفهوم URL یا «مکان نمای منابع یکتا» کرده است.
URL در واقع راهی است که میتواند مکان هر نوع از اطلاعات در اینترنت را مشخص کرد.
در هر آدرس URL ما چهار بخش کلی داریم:
- روش یا پروتکل آدرس دهی (Method)؛
- هاست میزبان (Host)؛
- پورت هاست (Port)؛
- مسیر (Path)؛
در ادامه کارکرد هر کدام از این موارد را بررسی میکنیم.
Method در آدرس URL
متد یا روش به شیوه ای اطلاق میشود که هر کلاینت یا سرور برای دریافت اطلاعات از آن استفاده میکند. برای مثال ما دو متد شناخته شده HTTP و HTTPS را به صورت معمول در بسیاری از ارتباطات روزمره اینترنتی میبینیم.
Host در آدرس URL
هاست اشاره به جائی دارد که از اطلاعات میزبانی شده و یا اطلاعات در آن ذخیره شده است. نام هاست یک سرنام یا عبارت جایگزین (نام دامنه) است. اغلب صفحات وب در درون سرورها ذخیره شده اند و برای دسترسی به IP آدرس آنها از سیستمهای DNS استفاده میشود. در برخی از موارد ممکن است که عبارت www. در ابتدای نام دامنه قرار گیرد. امروزه این روش دیگر باب نیست.
Port در URL
در هر آدرس URL بخشی به نام شماره پورت (Port Number) وجود دارد. این شماره یک فیلد انتخابی است. اگر شماره پورت در آدرس قرار داده شود، در این صورت بخش آدرس هاست و مسیر (Path) باید به وسیله یک کلون (:) از هم جدا شوند.
Path در URL
مسیر نامی مکانی است که فایل و مستندات مورد نظر در آنجا ذخیره شده است. خود مسیر با استفاده از اسلش (/) از هم جدا میشوند. هر مسیر میتواند متشکل از زیر مسیرهای مختلف باشد.