آشنائی با پروتکل HTTP
در اینترنت همانند سایر شبکه های کامپیوتری از پروتکل های متعدد و با اهداف مختلف استفاده می گردد. هر پروتکل از یک ساختار خاص برای ارسال و دریافت اطلاعات (بسته های اطلاعاتی ) استفاده نموده و ترافیک مختص به خود را در شبکه ایجاد می نماید . 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 می نماید. | 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 و یا plain text ) . | 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 ثانیه ) . | Keep-Alive: 300 Connection: keep-alive |
cookie و مقدار مربوطه به آن اعلام می گردد. کوکی یک متن اسکی فلت می باشد که اطلاعات متفاوتی را در خود نگهداری می نماید . | Cookie: PREF=ID=01a0822454acb293: LD=en:TM=1121638094�.. |
User agent نوع مرورگر و سیستم عامل سرویس گیرنده را مشخص می نماید و این موضوع می تواند مواد اولیه لازم برای تدارک برخی حملات توسط مهاجمان را تامین نماید