|
آشنائی با پروتكل HTTP ( بخش سوم )
در بخش اول و
دوم با جايگاه پروتكل
HTTP به منظور مبادله اطلاعات بين سرويس گيرندگان و
سرويس دهندگان وب آشنا شديم . همچنين به اين موضوع اشاره گرديد كه پروتكل فوق ،
همانند اغلب پروتكل های لايه application ، از معماری
سرويس گيرنده - سرويس دهنده استفاده می نمايد .
در اين بخش به بررسی برخی پتانسل های ارائه شده توسط پروتكل
HTTP خواهيم پرداخت .
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 در
مرورگر ، می بايست به ارتباط ايجاد شده توسط سرويس گيرنده خاتمه داده شود .
منبع : www.srco.ir |