در دنیای وب، عبارت HTTP را زیاد شنیده ایم. اما HTTP چیست؟ در این مقاله قصد دارم بررسی کنم پروتکل HTTP چیست و چه کاربردهایی دارد.
پروتکل HTTP چیست؟
پروتکل HTTP مخفف عبارت Hyper Text Transfer Protocol است و به ارتباط میان سرویسدهنده (server) و سرویسگیرنده (client) در وب میپردازد.
ارتباط بین سیستمهای سرویسگیرنده و سرورها از طریق ارسال درخواستهای HTTP و دریافت پاسخهای HTTP انجام میشود.
به زبان سادهتر، HTTP یک نوع قانون است که ارسال و دریافت اطلاعات بین client و server بر اساس آن انجام میشود.
نحوهی برقراری ارتباطات در وب
ارتباطات در دنیای وب بر اساس ارتباط بین سرویسدهنده (server) و سرویسگیرنده (client) میباشد. در این ارتباط سرویسگیرندگان اغلب مرورگرها (کروم، سافاری و…) و گاهی هم نرمافزارها هستند. سرورها هم کامپیوترهایی هستند که خدماتی را به client ها ارائه میدهند.
درخواست و پاسخهای مبتنی بر پروتکل HTTP
همانطور که گفته شده ارتباط بین سرویس دهنده و سرویس گیرندهها از طریق درخواستهای HTTP صورت میگیرد. اما مراحل ارسال درخواست به چه صورت است؟
۱- سرویس گیرنده (مثلاً یک مرورگر) یک درخواست HTTP به وب میفرستد.
۲- سرور درخواست را دریافت میکند.
۳- سرور یک نرمافزار را برای پردازش درخواست دریافت شده، اجرا میکند
۴- سرور پاسخ درخواست را از طریق پروتکل HTTP به همان سرویسگیرنده میفرستد.
۵- سرویسگیرنده پاسخ را دریافت میکند.
درخواستهای HTPP در XHR-XML
مرورگرها بر اساس شی XML Http Request) XHR) ساخته شدهاند. XHR یک شی از جاوا اسکریپت است که برای انتقال اطلاعات بین مرورگرها و سرورها استفاده میشود. این شی معمولاً با هدف اصلاح یک صفحه از وب استفاده میشود.
شی XHR از پروتکل دیگری به جز HTTP استفاده میکند و دادههای آن میتوانند در انواع مختلف مثل HTML ، CSS ، JSON ، XML باشند. XHR همواره مورد توجه توسعهدهندگان وب بوده زیرا با کمک آن میتوانید اقدامات زیر را انجام دهید:
- بروزرسانی صفحهی وب بدون نیاز به بارگذاری مجدد.
- ارسال درخواست داده از یک سرور بعد از اینکه صفحهی وب بارگذاری شد.
- دریافت داده از یک سرور بعد از اینکه صفحهی وب بارگذاری شد.
- ارسال داده ها به سرور در پسزمینه.
شی XHR مفهوم پایه برای JSON و AJAX محسوب میشود.
منبع: w3school