در اينترنت همانند ساير شبكه هاي كامپيوتري از پروتكل هاي متعدد و با اهداف مختلف استفاده مي گردد. هر پروتكل از يك ساختار خاص براي ارسال و دريافت اطلاعات (بسته هاي اطلاعاتي ) استفاده نموده و ترافيك مختص به خود را در شبكه ايجاد مي نمايد . HTTP ( برگرفته از Hyper Text Transfer Protocol ) ، يكي از متداولترين پروتكل هاي لايه application است كه مسئوليت ارتباط بين سرويس گيرندگان و سرويس دهندگان وب را برعهده دارد .
در ادامه با پروتكل فوق بيشتر آشنا خواهيم شد.
پروتكل HTTP چيست ؟
دنياي شبكه هاي كامپيوتري داراي عمري چند ساله است و بسياري از كاربران ، ضرورت استفاده از شبكه را همزمان با متداول شدن اينترنت در اوايل سال 1990 دريافتند . عموميت اينترنت، رشد و گسترش شبكه هاي كامپيوتري را به دنبال داشته است . اينترنت نيز با سرعتي باورنكردني رشد و امروزه شاهد ايجاد ده ها ميليون وب سايت در طي يك سال در اين عرصه مي باشيم .
تمامي وب سايت هاي موجود بر روي اينترنت از پروتكل HTTP استفاده مي نمايند . با اين كه پروتكل HTTP با استفاده از پروتكل هاي ديگري نظير IP و TCP ماموريت خود را انجام مي دهد ، ولي اين پروتكل HTTP است كه به عنوان زبان مشترك ارتباطي بين سرويس گيرنده و سرويس دهنده وب به رسميت شناخته شده و از آن استفاده مي گردد . در واقع مرورگر وب صداي خود را با استفاده از پروتكل HTTP به گوش سرويس دهنده وب رسانده و از وي درخواست يك صفحه وب را مي نمايد.
به منظور انجام يك تراكنش موفقيت آميز بين سرويس گيرندگان وب ( نظير IE ) و سرويس دهندگان وب ( نظير IIS ) ، به اطلاعات زيادي نياز خواهد بود . پس از handshake پروتكل TCP/IP ، مرورگر اطلاعات گسترده اي را براي سرويس دهنده وب ارسال مي نمايد .
يك بسته اطلاعاتي نمونه در شكل زير نشان داده شده است :
توضيحات :
داده مربوط به پروتكل لايه application ( در اين مورد خاص پروتكل HTTP ) ، پس از هدر TCP/IP قرار مي گيرد . جدول زير برخي اطلاعات مبادله شده بين سرويس گيرنده و سرويس دهنده وب را نشان مي دهد .
عملكرد | نوع اطلاعات |
سرويس گيرنده وب يك درخواست GETرا براي سرويس دهنده وب ارسال و از وي درخواست اطلاعاتي را با استفاده از پروتكل HTTP 1.1 مي نمايد. پروتكل HTTPداراي نسخه شماره يك نيز مي باشد كه امروزه عموما" از نسخه فوق استفاده نمي گردد و در مقابل از نسخه 1 . 1 استفاده مي شود. | GET /HTTP/1.1 |
وب سايتي است كه سرويس گيرنده قصد ارتباط با آن را دارد . | Host: www.google.ca |
به سرويس دهنده وب ، نوع نرم افزار سرويس گيرنده ( در اين مورد خاص Mozilla version 5.0 ) و نوع سيستم عامل نصب شده بر روي كامپيوتر ( در اين مورد خاص Windows version NT 5.1 و يا همان ويندوز XP ) اعلام مي گردد. | User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; |
نوع character setاستفاده شده به سرويس دهنده اعلام مي گردد ( در اين مورد خاص از en:us و نسخه شماره 10 . 7 . 1 استفاده شده است ) . | en-US; rv: 1.7.10) |
نام مرورگر استفاده شده توسط سرويس گيرنده به سرويس دهنده وب اعلام مي گردد ( در اين مورد خاص از مرورگر FireFoxاستفاده شده است ) . | Gecko/20050716 Firefox/1.0.6 |
سرويس گيرنده به سرويس دهنده وب فرمت اطلاعاتي را كه مي تواند دريافت نمايد ، اعلام مي نمايد ( در اين مورد خاص هم براي متن و هم براي application از فرمت xmlاستفاده مي گردد ) . | Accept: text/xml, application/xml, application/xhtml+xml |
سرويس گيرنده به سرويس دهنده نوع فرمت متن دريافتي را اعلام مي نمايد ( در اين مورد خاص htmlو يا plaintext) . همچنين فرمت فايل هاي گرافيكي ( در اين مورد خاص png. و ساير فرمت هاي متداول ) نيز اعلام مي گردد . | text/html; q=0.9, text/plain; q=0.8, image/png, */*;q=0.5 |
ليست character setكه سرويس گيرنده وب قادر به فهم آنان است، اعلام مي گردد ( در اين مورد خاص ISO-8859 , و يا utf-8 ) . | Accept-Charset: ISO-8859-1, utf-8; q=0.7, *;q=0/7 |
به سرويس دهنده وب مدت زمان نگهداري session اعلام مي گردد ( در اين مورد خاص 300 ثانيه ) . سرويس گيرندگان مي توانند با صراحت پايان يك sessionرا اعلام نمايند . در نسخه شماره 1 . 1 پروتكل HTTP، ارتباط و يا اتصال برقرار شده فعال و يا openباقي خواهد ماند تا زماني كه سرويس گيرنده خاتمه آن را اعلام و يا مدت زمان حيات آن به اتمام رسيده باشد . در نسخه شماره يك پروتكل HTTP، پس از هر درخواست و اتمام تراكنش ، ارتباط ايجاد شده غيرفعال و يا closeمي گردد . | Keep-Alive: 300 Connection: keep-alive |
cookie و مقدار مربوطه به آن اعلام مي گردد. كوكي يك متن اسكي فلت مي باشد كه اطلاعات متفاوتي را در خود نگهداري مي نمايد . مدت زمان حيات يك كوكي مي تواند موقت ( تا زماني كه مرورگر فعال است ) و يا دائم ( ذخيره بر روي هارد ديسك كامپيوتر و در يك محدوده زماني تعريف شده ) باشد . | Cookie: PREF=ID=01a0822454acb293: LD=en:TM=1121638094?.. |
User agent نوع مرورگر و سيستم عامل سرويس گيرنده را مشخص مي نمايد و اين موضوع مي تواند مواد اوليه لازم براي تدارك برخي حملات توسط مهاجمان را تامين نمايد .