جهت تماس با کارشناسان فروش کلیک نمایید
موضوع مقاله :

مفهوم http چیست ؟

شرح :
پروتکل‌هاي اينترنتي به عنوان مهمترين و پرکاربردترين استاندارد براي تبادل اطلاعات در شبکه‌هاي اينترنتي شناخته مي‌شوند. پروتکل HTTP يا Hyper Text Transfer Protocol يکي از استانداردهاي پرکاربرد تعريف شده براي شبکه‌هاي اينترنتي است که مدتي بعد از ساخت اولين سايت‌ها ايجاد شد. اين استاندارد به تدريج توسعه پيدا کرد و کنسرسيوم جهاني وب (W3C) وظيفه توسعه و نظارت اين پروتکل را بر عهده گرفت.

پروتکل Http چيست؟

در گذشته روش استانداردي براي تبادل اطلاعات در شبکه اينترنت وجود نداشت. به همين دليل تيم برنرز لي (Tim Berners-Lee) در سال 1991 پروتکل Http را با هدف پياده سازي يک استاندارد براي تبادل اطلاعات در شبکه اينترنت ايجاد کرد. برنرز لي اين پروتکل را به همراه ساختار اوليه HTML در يک وب سرور ساده و يک مرورگر مبتني بر متن ارائه کرد.
Http  مخفف عبارت Hyper Text Transfer Protocol  است که به معني پروتکلي براي انتقال ابرمتنها ميباشد. بر اساس اين پروتکل، امکان ايجاد صفحات وب و سايتهاي اينترنتي فراهم شد. اين پروتکل وظيفه برقراري ارتباط ميان سرور و کلاينت را در يک شبکه کامپيوتري برعهده دارد. به عبارتي ديگر اين پروتکل مسئوليت برقراري ارتباط بين سرويس دهندگان و سرويس گيرندگان وب را برعهده دارد.

بصورت کلي :

اچ‌تي‌تي‌پي (HTTP) بستري براي مکالمه بين مرورگرها و سرورها مي‌باشد.
صفحات وب (Web pages) فايل هايي هستند که در مرورگرها نمايش مي‌يابند و توسط سرورها فراهم شده‌اند.
 روشي که توسط آن فايل ها به مرورگر مي رسد HTTP مي‌باشد.
http مخفف عبارت “Hypertext Transfer Protocol” مي‌باشد.
HTTP بيان کننده چگونگي انتقال فايلها در بستر اينترنت مي باشد.
براي انتقال فايل ها در اينترنت، مرورگر و سرور بايد بتوانند باهم تعامل داشته باشند. http مشخص مي‌کند که اين انتقال داده بين مرورگر و سرور چگونه انجام شود.
وقتي شما روي لينک يک وب سايت کليک مي‌کنيد و يا آدرس سايتي را بطور مستقيم در مرورگر سيستم خود وارد مي کنيد، فرآيند HTTP شروع بکار مي‌کند.
مرورگر فايل html را که در جاي مشخصي از سرور قرار دارد را درخواست مي‌کند.
سرور فايل درخواستي را به سمت مرورگر ارسال مي‌کند.

پروتکل Http چگونه کار مي‌کند؟

پروتکل Http از Handshaking به منظور ارسال و دريافت اطلاعات استفاده مي‌کند. در اين روش براي شروع و پايان عمليات تبادل اطلاعات بين سرور و کلاينت، چندين درخواست و پاسخ رد و بدل مي‌شود. تصور کنيد که کلاينت (مرورگر) فردي است که قصد دارد اطلاعات مربوط به يک سايت را دريافت کند. در ابتدا بايد درخواستي با اين هدف به سرور آن سايت ارسال کند. سپس بايد صبر کند، تا از طرف سرور پاسخي براي درخواستش دريافت کند. در صورتي که اطلاعات خواسته شده در سرور موجود باشند، پاسخي مبني بر موافقت ارسال اطلاعات براي شخص ارسال مي‌شود.
سپس بار ديگر از طرف کلاينت پيامي مبني بر درخواست داده‌هاي اطلاعاتي به سرور فرستاده مي‌شود. در اين مرحله سرور پيام را دريافت کرده و داده‌هاي درخواست شده را در بسته‌هاي اطلاعاتي کوچکتري تقسيم مي‌کند. در نهايت اين بسته‌ها توسط پروتکل Handshaking پشت سر هم و به ترتيب براي شخص ارسال مي‌شوند. لازم به ذکر است که در اين فرآيند از پروتکل هاي TCP/IP به منظور افزايش امنيت و تضمين ارسال داده‌ها استفاده مي‌شود. ارتباط بين کلاينت و سرور در اين پروتکل معمولا از طريق پورت 80 انجام مي‌شود. همچنين به مجموعه اطلاعات تبادل شده بين دو کلاينت و سرور در اين فرآيند، نشست يا session گفته مي‌شود.


روشهاي درخواست در پروتکل http

پروتکل Http روش‌هاي مختلفي را براي درخواست اطلاعات در شبکه وب تعريف کرده‌است. هر کدام از اين روشها با هدف خاصي در وب سرورها استفاده مي‌شوند. اولين نسخه اين پروتکل (نسخه 1) فقط از روش‌هاي درخواست GET, POST و HEAD پشتيباني مي‌کرد. اما در نسخه 1?1 پنج روش جديد تحت عنوان‌هاي  OPTIONS, PUT, DELETE, TRACE و CONNECT اضافه شد. نحوه عملکرد هر کدام از اين روش‌ها به‌طور کامل براي مرورگرها تعريف شده است. بنابراين تمامي مرورگرها و سرورها به راحتي مي‌توانند اين روش‌ها را پياده‌سازي کنند. در ادامه به توضيح هر کدام از اين روشها مي‌پردازيم:

GET : پيام هايي که در اين روش ارسال مي‌شوند تنها شامل يک URL هستند. البته در اين پيام‌ها ميتوان تعدادي پارامتر دلخواه در انتهاي URL اضافه کرد. پارامترهاي دلخواه در اين پيام ها، در URL ارسال شده، به راحتي قابل مشاهده هستند. اين نوع پيامها پس از ارسال توسط سرور پردازش مي‌شوند و در نهايت نتيجه آن به درخواست کننده يا همان مرورگر برمي‌گردد.

POST : در اين نوع پيام ها، پارامترهاي دلخواهي که اضافه مي‌شود، قابل مشاهده نمي‌باشند. زيرا در اين روش به جاي اضافه کردن پارامترها در انتهاي URL، آنها در درون پيام درخواست شده قرار داده مي‌شوند.

HEAD : اين درخواست‌ها مشابه پيام‌هاي GET هستند. تفاوت اين دو درخواست در اين است که در پيامهاي Head به جاي ارسال پاسخ‌هاي مربوط به محتواي URL، فقط داده‌هاي مربوط به header سايت را ارسال مي‌کنند. اين داده‌ها همان اطلاعاتي هستند که در قسمت <head> يک سند html وجود دارند.

PUT : در اين روش داده هايي به همراه پيام درخواست به سرور ارسال مي‌شود. سپس از سرور تقاضا مي شود که اين دادهها را در آدرس مشخص شده ذخيره کند. اگر در محلِ درخواست شده از قبل داده‌هاي ديگري قرار ذخيره شده باشند، داده‌هاي جديد جايگزين خواهند شد.

TRACE : در اين روش، سرور داده‌هاي ارسال شده را دقيقا به کلاينت يا درخواست کننده باز مي‌گرداند.

OPTIONS :  زماني از اين روش استفاده مي‌شود که بخواهند، روش‌هاي درخواست اطلاعات موجود براي يک آدرس را به دست آورند. اين روش از سرور تقاضا مي‌کند تا روشهاي درخواست موجود براي آدرس فرستاده شده را اعلام کند.

DELETE : از اين روش براي حذف يک آدرس در سرور استفاده مي‌شود.

CONNECT : اين روش اطلاعات و داده‌ها را در پروتکل http به يک تونل TCP/IP تبديل مي‌کند. اين عمل معمولا براي برقراري ارتباط امن (HTTPS) بر روي يک پراکسي سرور نا امن استفاده مي‌شود.

PATCH : اين روش در سال 2010 به پروتکل http اضافه شد. اين روش براي ايجاد تغييرات جزيي بر روي داده‌ها مورد نظر در سرور استفاده مي‌شود.
فرمت پيام‌هاي درخواست (Request) و پاسخ (Response) در پروتکل Http مشابه هم هستند. هر دو پيام‌ها شامل اجزاي زير مي‌باشند:

خط شروع کننده : خط شروع کننده داراي 3 بخش است که با Space از يکديگر جدا شده اند. بخش اول نشان دهنده نسخه HTTP در حال استفاده (Version) است. دومين و سومين بخش از خط شروع کننده، نشان دهنده کد و پيام مربوط به وضعيت ارسال درخواست يا پاسخ است.

خطوط Header : خطوط Header اطلاعات لازم براي درخواست و يا پاسخ را آماده مي‌کنند. هر Header در يک خط جدا تعريف مي‌شود و ساختار آنها به صورت KEY:VALUE است. در اين بخش اطلاعاتي شامل نام سرور، اطلاعات مربوط به بدنه و... ذکر مي‌شود.

يک خط خالي : پس خطوط Header يک خط خالي قرار مي‌گيرد.

بدنه : يک پيام HTTP ممکن است بعد از خطوط Header شامل يک بدنه باشد. در اين بخش اطلاعاتي مانند دادههاي وارد شده توسط کاربر، نتايج يک فرم و... ثبت و سپس به سرور فرستاده مي‌شوند.