پیام های HTTP نحوه تبادل داده ها بین سرور و مشتری است. دو نوع پیام وجود دارد: درخواست های ارسال شده توسط مشتری برای اقدام بر روی سرور و پاسخ ها ، پاسخ سرور.
پیام های HTTP از اطلاعات متنی رمزگذاری شده در ASCII تشکیل شده و از چندین خط استفاده می شود. در HTTP/1. 1 و نسخه های قبلی پروتکل ، این پیام ها به طور آشکار از طریق اتصال ارسال می شدند. در HTTP/2 ، پیام یک بار قابل خواندن انسانی اکنون به فریم های HTTP تقسیم می شود و بهینه سازی و بهبود عملکرد را ارائه می دهد.
توسعه دهندگان وب ، یا مأمورین وب ، به ندرت این پیام های HTTP متنی را به خود اختصاص می دهند: نرم افزار ، یک مرورگر وب ، پروکسی یا سرور وب ، این عمل را انجام می دهند. آنها پیام های HTTP را از طریق فایلهای پیکربندی (برای پروکسی ها یا سرورها) ، API (برای مرورگرها) یا سایر رابط ها ارائه می دهند.

مکانیسم قاب بندی باینری HTTP/2 به گونه ای طراحی شده است که نیازی به تغییر در API یا پرونده های پیکربندی اعمال شده نداشته باشد: این به طور گسترده برای کاربر شفاف است.
درخواست های HTTP و پاسخ ها ، ساختار مشابهی را به اشتراک می گذارند و از:
عنوان های شروع و HTTP پیام HTTP در مجموع به عنوان رئیس درخواست ها شناخته می شوند ، در حالی که بار آن به عنوان بدن شناخته می شود.

درخواست های HTTP پیام هایی است که توسط مشتری برای شروع یک عمل روی سرور ارسال می شود. خط شروع آنها شامل سه عنصر است:
سرصفحه های HTTP از یک درخواست از همان ساختار اصلی سرآیند HTTP پیروی می کنند: رشته ای که به حروف بزرگ و کوچک و بزرگ و بزرگ و کوچک و بزرگ و کوچک و بزرگ و کوچک و بزرگ و کوچک و بزرگ دنبال می شود و مقداری که ساختار آن به هدر بستگی دارد. کل هدر، از جمله مقدار، از یک خط تشکیل شده است که می تواند بسیار طولانی باشد.
هدرهای مختلفی می توانند در درخواست ها ظاهر شوند. آنها را می توان به چند گروه تقسیم کرد:

قسمت پایانی درخواست بدنه آن است. همه درخواست ها یکی ندارند: درخواست هایی که منابع واکشی می کنند، مانند GET، HEAD، DELETE یا OPTIONS، معمولاً به یکی نیاز ندارند. برخی از درخواست ها داده ها را به سرور ارسال می کنند تا آن ها را به روزرسانی کنند: اغلب در مورد درخواست های POST (شامل داده های فرم HTML) اتفاق می افتد.
اجسام را می توان به طور کلی به دو دسته تقسیم کرد:
خط شروع پاسخ HTTP ، به نام خط وضعیت ، حاوی اطلاعات زیر است:
یک خط وضعیت معمولی به نظر می رسد: HTTP/1. 1 404 یافت نشد.
هدرهای HTTP برای پاسخ ها از همان ساختار هر عنوان دیگر پیروی می کنند: یک رشته حساس به مورد و به دنبال آن یک روده بزرگ (':') و مقداری که ساختار آن به نوع هدر بستگی دارد. کل هدر ، از جمله مقدار آن ، به عنوان یک خط واحد ارائه می شود.
بسیاری از هدرهای مختلف می توانند در پاسخ ها ظاهر شوند. اینها را می توان به چندین گروه تقسیم کرد:

قسمت آخر پاسخ بدن است. همه پاسخ ها دارای یک مورد نیستند: پاسخ هایی با کد وضعیت که به اندازه کافی به درخواست پاسخ می دهد بدون نیاز به بارگذاری مربوطه (مانند 201 ایجاد شده یا 204 محتوا) معمولاً این کار را نمی کنند.
اجساد را می توان به طور گسترده ای به سه دسته تقسیم کرد:
پیام های HTTP/1. x چند اشکال برای عملکرد دارند:
HTTP/2 یک مرحله اضافی را معرفی می کند: پیام های HTTP/1. x را به قاب هایی که در یک جریان تعبیه شده اند تقسیم می کند. داده ها و قاب های هدر از هم جدا شده اند که امکان فشرده سازی هدر را فراهم می کند. چندین جریان را می توان با هم ترکیب کرد ، فرآیندی به نام Multiplexing ، که امکان استفاده کارآمدتر از اتصالات TCP اساسی را فراهم می کند.

فریم های HTTP اکنون برای توسعه دهندگان وب شفاف هستند. این یک مرحله اضافی در HTTP/2 ، بین پیام های HTTP/1. 1 و پروتکل حمل و نقل اساسی است. در API های مورد استفاده توسعه دهندگان وب برای استفاده از فریم های HTTP هیچ تغییری لازم نیست. در صورت موجود در هر دو مرورگر و سرور ، HTTP/2 روشن شده و استفاده می شود.
پیام های HTTP کلید استفاده از HTTP هستند. ساختار آنها ساده است و بسیار گسترده است. مکانیسم قاب بندی HTTP/2 یک لایه واسطه جدید بین نحو HTTP/1. x و پروتکل حمل و نقل اساسی ، بدون اینکه اساساً آن را اصلاح کند ، اضافه می کند: بنا بر مکانیسم های اثبات شده.
این صفحه آخرین بار در تاریخ 3 مارس 2023 توسط همکاران MDN اصلاح شد.< Pan> فریم های HTTP اکنون برای توسعه دهندگان وب شفاف هستند. این یک مرحله اضافی در HTTP/2 ، بین پیام های HTTP/1. 1 و پروتکل حمل و نقل اساسی است. در API های مورد استفاده توسعه دهندگان وب برای استفاده از فریم های HTTP هیچ تغییری لازم نیست. در صورت موجود در هر دو مرورگر و سرور ، HTTP/2 روشن شده و استفاده می شود.
فارکس کاران ایران...
برچسب :
نویسنده : ناهید طباطبایی
بازدید : <-PostHit->