به طور کلی روال عادی و رایجی که برای تجزیه یک پیام HTTP در آموزش شبکه
از آن استفاده می شود ، عبارت است از خواندن خط شروع داخل یک ساختار ،
خواندن فیلد سرآیند داخل یک جدول Hash که این عمل خواندن فیلد نام ، تا
رسیدن به یک خط خالی ادامه پیدا کرده و در نهایت تجزیه داده ها برای آگاهی
یافتن از اینکه آیا این پیام یک بدنه دارد یا خیر ، صورت می گیرد. در HTTP در آموزش شبکه
اگر برای پیام بدنه ای وجود داشته باشد ، فرآیند خواندن بدنه پیام در قالب
یک استریم تا زمانیکه یک مقدار هشت تایی برابر با طول بدنه پیام شود و یا
زمانیکه ارتباط بسته شود ، ادامه پیدا می کند.
به این شکل برای HTTP در آموزش شبکه ، یکسری ویژگی های منفی بر روی کارایی و کارکرد بهینه برنامه های امروزی ، تاثیر گذار می شوند.
به
طور کلی ، پروتکل HTTP 1.0 فقط اجازه ارسال یک درخواست در یک زمان را بر
روی یک ارتباط امکان پذیر می ساخت. اما با به روزرسانی این پروتکل به نسخه
۱٫۱ ، امکان انتقال و ارسال بیش از یک درخواست به طور همزمان امکان پذیر شد
، از این رو کلاینت هایی که نیازمند ساخت تعداد بیش تری از درخواست ها
بودند بودند ، از تکنیک ساخت و به کارگیری چند ارتباط بر روی یک سرور برای
کم کردن دوره سیکل کاری انتظار ارسال و دریافت داده ها ، استفاده می کردند.
به علاوه ، فیلد های سرآیند HTTP 1.1 اغلب تکراری و طولانی بودند که همین
موضوع باعث ساخت بسته هایی می شود که ازدحام و ترافیک سنگین بر روی شبکه را
به همراه دارند. نتیجه این فرآیند ، ساخت بسته های TCP کوچک و مقدار دهی
شده ای است که به سرعت فیلد window را پر کرده و یک زمان انتظار مضاعف را
زمانیکه چندین درخواست بر روی یک ارتباط جدید و مجزای TCP ساخته می شود ،
به همراه خواهند داشت.
این
خصوصیت آدرس ها و مشکلات ، با تعریف یک ترسیم بهینه شده از HTTP semantics
بر روی یک ارتباط اصولی ، قابل حل بود. این تکنیک این امکان را فراهم می
آورد تا یک در خواست و پیام هایی که در واکنش به درخواست ایجاد می شوند ،
بر روی همان ارتباط جاری قرار داده شده و همچنین از یک کد گذاری موثر بر
روی فیلدهای سرآیند HTTP در آموزش شبکه
استفاده شود. همچنین الویت بندی درخواست ها ، امکان ارسال سریع تر درخواست
هایی که مهم تر و کامل تر هستند را به همراه دارد که همین موضوع باعث
افزایش کارایی این تکنیک شده و در پیشبرد آن سهم بسزایی دارد.
هیچ نظری موجود نیست:
ارسال یک نظر