در بخش اول و دوم با جايگاه پروتكل 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 در مرورگر ، مي بايست به ارتباط ايجاد شده توسط سرويس گيرنده خاتمه داده شود .