آموزش شبکه 2

آشنائی با پروتکل 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 می نماید.
پروتکل 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 ) .
همچنین فرمت فایل های گرافیکی ( در این مورد خاص 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 نوع مرورگر و سیستم عامل  سرویس گیرنده را مشخص می نماید و این موضوع می تواند  مواد اولیه لازم برای تدارک برخی حملات توسط مهاجمان را تامین نماید