پروتکل HTTP چیست؟

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


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

در گذشته روش استانداردی برای تبادل اطلاعات در شبکه اینترنت وجود نداشت. به همین دلیل تیم برنرز لی (Tim Berners-Lee) در سال 1991 پروتکل Http را با هدف پیاده سازی یک استاندارد برای تبادل اطلاعات در شبکه اینترنت ایجاد کرد. برنرز لی این پروتکل را به همراه ساختار اولیه HTML در یک وب سرور ساده و یک مرورگر مبتنی بر متن ارائه کرد.

Http مخفف عبارت Hyper Text Transfer Protocol است که به معنی پروتکلی برای انتقال ابرمتن‌ها می‌باشد. بر اساس این پروتکل، امکان ایجاد صفحات وب و سایت‌های اینترنتی فراهم شد. این پروتکل وظیفه برقراری ارتباط میان سرور و کلاینت را در یک شبکه کامپیوتری برعهده دارد. به عبارتی دیگر این پروتکل مسئولیت برقراری ارتباط بین سرویس دهندگان و سرویس گیرندگان وب را برعهده دارد.


منظور از Hypertext یا ابرمتن چیست؟

شاید برای شما سوال شود، که منظور از کلمه Hypertext چیست؟ منظور از Hypertext یا ابر متن، متن‌های بزرگ و طولانی است که به صورت HTML نوشته می‌شوند. البته برخلاف اینکه کدهای نوشته شده فقط به صورت متنی هستند، بعد از پردازش توسط مرورگر کاربر الزاما به صورت متنی نخواهند بود. یک سند HTML می‌تواند دارای تصویر، ویدئو، جدول ، لینک و... باشد. اگر هنوز نتوانسته اید به خوبی این موضوع را درک کنید، بهتر است خودتان به یک ابر متن نگاه کنید!

برای مثال صفحه اول سایت سون لرن را در نظر بگیرید. آن چه می‌بینید یک صفحه شکیل با اجزای مختلف از جمله تصویر، متن، کادربندی و... است. اما اگر قصد دارید پشت صحنه این صفحه وب را ببینید، کافی است با مرورگر خود (مثلا مرورگر کروم) روی صفحه کلیک راست کنید و روی گزینه Inspect کلیک کنید. آنچه الان می‌بینید یک Hypertext است.

پروتکل Http از Handshaking به منظور ارسال و دریافت اطلاعات استفاده می‌کند. در این روش برای شروع و پایان عملیات تبادل اطلاعات بین سرور و کلاینت، چندین درخواست و پاسخ رد و بدل می‌شود. تصور کنید که کلاینت (مرورگر) فردی است که قصد دارد اطلاعات مربوط به یک سایت را دریافت کند. در ابتدا باید درخواستی با این هدف به سرور آن سایت ارسال کند. سپس باید صبر کند، تا از طرف سرور پاسخی برای درخواستش دریافت کند. در صورتی که اطلاعات خواسته شده در سرور موجود باشند، پاسخی مبنی بر موافقت ارسال اطلاعات برای شخص ارسال می‌شود.

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

منبع : سون لرن