درخواست و پاسخ HTTP، درخواست و پاسخ HTTP

مرورگرهای وب با پیروی از پروتکل HTTP با وب‌سایت‌ها تعامل دارند. این پروتکل مجموعه‌ای استاندارد از قوانین برای ارتباط است:

  • وقتی از یک صفحه وب بازدید می‌کنید، مرورگر شما درخواست‌های HTTP را برای منابع موجود در صفحه، مانند HTML، CSS، جاوا اسکریپت و تصاویر ارسال می‌کند.
  • وقتی یک سرور HTTP (وب سروری که میزبان یک وب‌سایت است) یک درخواست HTTP معتبر از یک مرورگر دریافت می‌کند، سرور با یک پاسخ HTTP به مرورگر پاسخ می‌دهد.
  • درخواست‌ها و پاسخ‌ها می‌توانند شامل اطلاعات اضافی باشند که به عنوان هدرهای HTTP شناخته می‌شوند.

برای مثال، سایت cats.example.

وب‌سایت گربه‌های افسانه‌ای.مثال.

درخواست

دسترسی به صفحه cats.example زنجیره‌ای از درخواست‌ها را به دامنه‌های مختلف آغاز می‌کند. این شامل درخواست برای تصویری است که در خود cats.example میزبانی می‌شود، درخواستی برای اسکریپت تحلیلی از analytics.example و درخواست‌های دیگر برای منابع اضافی از دامنه‌های دیگر.

درخواست‌های HTTP را می‌توان با هدرهای درخواست HTTP تکمیل کرد تا اطلاعات تکمیلی را از مرورگر به وب سرور ارائه دهند. به عنوان مثال، هدرهایی مانند موارد زیر اغلب گنجانده می‌شوند:

  • Accept-Language: en-US
    این سربرگ زبان مورد نظر کاربر را نشان می‌دهد، که در این مورد انگلیسی (ایالات متحده) است.
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    این سربرگ جزئیاتی در مورد مرورگر و سیستم عامل کاربر ارائه می‌دهد، در این مورد "Mozilla/5.0" (خانواده مرورگر)، "Macintosh" (سیستم عامل) و "Chrome/127.0.0.0" (نسخه مرورگر).

پاسخ

وقتی یک وب سرور درخواست معتبری را از یک مرورگر دریافت می‌کند، پاسخی را به مرورگر ارسال می‌کند که منبع مورد درخواست ("بار داده") را ارائه می‌دهد: HTML، CSS، جاوا اسکریپت، یک فایل تصویری، ویدیو یا سایر داده‌ها. همانطور که هر درخواست از مرورگر می‌تواند شامل هدرهای درخواست باشد، هر پاسخ از سرور نیز می‌تواند شامل هدرهای پاسخ باشد. این هدرهای پاسخ همراه با بار داده ارسال می‌شوند.

یک هدر Set-Cookie که همراه با یک پاسخ ارائه می‌شود، به مرورگر شما می‌گوید که متنی را ذخیره کند: یک نام و یک مقدار. این به عنوان یک کوکی HTTP شناخته می‌شود. در پاسخ به درخواست cats.example/images/cat.jpg ، سرور cats.example هدر Set-Cookie:cat=tabby را وارد می‌کند. این به مرورگر دستور می‌دهد که یک کوکی به نام cat با مقدار tabby ذخیره کند.

سپس آن کوکی با درخواست‌های بعدی به cats.example, تا زمانی که کوکی منقضی شود یا حذف شود . این به سرور اجازه می‌دهد تا اطلاعات مربوط به کاربر را در چندین صفحه وب یا جلسه حفظ کند: به عنوان مثال، اینکه به کاربر تصویر یک گربه ماده نشان داده شده است.


سربرگ اکشن مثال اثر
پاسخ HTTP
سرور به مرورگر
Set‑Cookie سرور وب از مرورگر شما می‌خواهد که یک کوکی ذخیره کند. Set‑Cookie:cat=tabby کوکی توسط مرورگر شما ذخیره می‌شود و در درخواست‌های بعدی به سروری که آن را تنظیم کرده است، ارائه می‌شود.
درخواست HTTP
مرورگر به سرور
Cookie مرورگر شما کوکی ارائه می‌دهد. Cookie:cat=tabby کوکی در اختیار سروری قرار می‌گیرد که مقصد درخواست است.

دموها

  • 1pc.glitch.me : نسخه آزمایشی کوکی‌های شخص ثالث
  • 3pc.glitch.me : نسخه آزمایشی کوکی شخص ثالث

ابزارها

اطلاعات بیشتر