|
آشنائی با پروتكل 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 نوع مرورگر و سيستم عامل سرويس گيرنده را مشخص می نمايد و اين موضوع
می تواند مواد اوليه لازم برای تدارك برخی حملات توسط مهاجمان را تامين نمايد .
منبع : www.srco.ir |