HTTP یک پروتکل با قابلیت های فراوان HTTP ، پروتکلی با قابلیت های فراوان است که علیرغم برخی محدودیت ها ، دارای سابقه درخشانی در عرصه شبکه های کامپیوتری ( اینترانت ، اینترنت ) است . HTTP پروتکلی است که امکان ارتباط بین سرویس گیرندگان و سرویس دهندگان وب را فراهم می نماید . یک سرویس دهنده وب در واقع به عنوان یک سرویس دهنده HTTP نیز ایفای وظیفه می نماید . |
زمانی که مرورگر وب درخواست یک صفحه را از سرویس دهنده وب می نماید، در واقع یک HTTP request را ارسال و سرویس دهنده وب نیز پاسخ آن را با یک HTTP response خواهد داد . یک پیام HTTP ، یک درخواست ( request ) و یا پاسخ ( response ) است که از یک ساختار خاص تبعیت می نماید . HTTP به یک پروتکل خاص لایه حمل وابستگی نداشته و عموما" از پروتکل TCP استفاده می نماید (پورت شناخته شده 80 ) . کدهای وضعیت همانند بسیاری از پروتکل ها ، پروتکل HTTP بر اساس یک مدل سرویس گیرنده - سرویس دهنده کار می کند . کدهای وضعیت توسط تعداد زیادی از پروتکل های لایه application استفاده می گردد و می توان آنان را به پنج گروه عمده تقسیم نمود . جدول زیر گروه های پنج گانه کدهای وضعیت را در ارتباط با پروتکل HTTP نشان می دهد . عملکرد | کد | اطلاع رسانی برای استفاده در آینده | 1XX | انجام موفقیت آمیز تراکنش | 2XX | راهنمائی مجدد | 3XX | بروز خطاء سمت سرویس گیرنده | 4XX | بروز خطاء سمت سرویس دهنده | 5XX |
هر یک از پنج گروه فوق، دارای کدهای وضعیت زیر مجموعه ای می باشند که بیانگر جزئیات عملیات است . جدول زیر برخی از کدهای وضعیت هر یک از گروه های پنج گانه فوق را در ارتباط با پروتکل HTTP نشان می دهد . عملکرد | کد وضعیت | تراکنش با موفقیت انجام شده است | 200 | دستور POST با موفقیت انجام شده است | 201 | درخواست ارسالی دریافت گردید. | 202 | منبع درخواستی در مکان های مختلفی پیدا شده است | 300 | منبع درخواستی به صورت دائم منتقل شده است | 301 | منبع درخواستی به صورت موقت منتقل شده است | 302 | درخواست نامناسب از جانب سرویس گیرنده | 400 | درخواست غیرمجاز | 401 | منبع درخواستی پیدا نگردید | 404 | بروز خطاء بر روی سرویس دهنده | 500 | متد استفاده شده ، پیاده سازی نشده است | 501 |
درخواست های سرویس گیرندگان و دستورات سرویس گیرندگان وب به منظور استفاده از خدمات سرویس دهندگان وب از مجموعه پتانسیل های ارائه شده ( دستورات ) توسط پروتکل HTTP استفاده می نمایند : GET : سرویس گیرنده وب درخواست یک منبع موجود بر روی سرویس دهنده وب را می نماید . POST : سرویس گیرنده وب اطلاعاتی را برای سرویس دهنده وب ارسال می نماید . PUT : سرویس گیرنده وب یک مستند جایگزین را برای سرویس دهنده وب ارسال می نماید . HEAD : سرویس گیرنده وب اطلاعات خاصی را در ارتباط با یک منبع موجود بر روی سرویس دهنده درخواست می نماید ( عدم نیاز به خود منبع ) DELETE : سرویس گیرنده وب درخواست حذف یک سند موجود بر روی سرویس دهنده را می نماید . TRACE : سرویس گیرندگان وب ، پراکسی مربوط به خود را تعریف می نمایند . از متد فوق اغلب در موارد اشکال زدائی استفاده می گردد . OPTIONS : سایر پتانسیل های موجود به منظور کار بر روی یک سند توسط یک سرویس گیرنده وب درخواست می گردد . CONNECT : سرویس گیرنده وب به عنوان یک پراکسی به یک سرویس دهنده HTTPS متصل می گردد .
در اغلب موارد صرفا" از متد GET و در برخی موارد از HEAD استفاده می گردد ( در صورت اشکال زدائی یک برنامه وب از تمامی امکانات فوق استفاده می شود ) .
مراحل ایجاد یک تراکنش یک سرویس گیرنده وب قبل از این که بتواند با یک سرویس دهنده وب داده ئی را مبادله نماید ، می بایست با آن ارتباط برقرار نماید . بدین منظور از پروتکل TCP/IP استفاده می گردد . همانگونه که اشاره گردید سرویس گیرنده و سرویس دهنده وب برای ارسال یک درخواست و پاسخ به آن از پروتکل HTTP استفاده نموده و ارتباط ایجاد شده بین خود را صرفا" برای یک تراکنش نگهداری می نمایند ( HTTP یک پروتکل Stateless است ) . فرآیند ایجاد یک تراکنش بین سرویس گیرنده و سرویس دهنده وب را می توان در چهار مرحله زیر خلاصه نمود: مرحله اول ، برقراری ارتباط : در ابتدا می بایست یک ارتباط و یا اتصال مبتنی بر پروتکل TCP/IP بین یک سرویس دهنده و یک سرویس گیرنده وب ایجاد گردد . به منظور تشخیص نوع پروتکل استفاده شده ، برنامه ها از یک عدد منحصر بفرد با نام شماره پورت استفاده می نمایند .( پروتکل FTP از پورت 21 ، پروتکل Telnet از پورت 32 ، پروتکل SMTP از پورت 25 ، پروتکل HTTP از پورت 80 ) . مرحله دوم : ایحاد و یا صدور یک درخواست توسط سرویس گیرنده مرحله سوم : پاسخ سرویس دهنده به درخواست سرویس گیرنده مرحله چهارم ، خاتمه و یا توقف ارتباط : سرویس دهنده مسئولیت خاتمه ارتباط TCP با سرویس گیرنده وب را پس از پاسخ به درخواست سرویس گیرنده برعهده دارد . به منظور برخورد با مسائل غیرقابل پیش بینی ، هم سرویس گیرنده و هم سرویس دهنده می بایست قادر به مدیریت یک ارتباط باشند . مثلا" پس از فعال نمودن دکمه stop در مرورگر ، می بایست به ارتباط ایجاد شده توسط سرویس گیرنده خاتمه داده شود |