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