HTTP keep-alive چیست؟

BirHosting HTTP keep-alive index
توسط

HTTP keep-alive یا همان اتصال دائمی HTTP، دستورالعملی است که به یک اتصال TCP اجازه می‌دهد برای چندین درخواست/پاسخ HTTP باز بماند.

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

فعال کردن هدر keep-alive به شما این امکان را می دهد که تمام منابع صفحه وب را از طریق یک اتصال واحد ارائه دهید. Keep-alive همچنین مصرف CPU و حافظه را در سرور شما کاهش می دهد.

فعال کردن HTTP Keep-Alive

در صورتی که keep-alive روی سرور شما فعال نباشد، می‌توانید با افزودن کد زیر به فایل htaccess خود، آن را فعال کنید:

در هدر «Connection keep-alive»، دو دستورالعمل زیر می توانند بر عملکرد آن تأثیر بگذارند.

MaxKeepAliveRequests - این دستورالعمل حداکثر تعداد درخواست ها را برای هر اتصال نگه داشتن زنده تنظیم می کند. هنگام تعیین این رقم، مهم است که تعداد فایل های موجود در وب سایت خود را که ممکن است یک کاربر بخواهد به آنها دسترسی داشته باشد، در نظر بگیرید.

KeepAliveTimeout – این دستورالعمل زمانی را تعیین می کند که سرور باید قبل از برقراری اتصال TCP جدید منتظر درخواست های کاربر بماند. این رقم باید با توجه به دفعات بازدید از وب سایت شما تنظیم شود، به عنوان مثال، سایت هایی با حجم ترافیک بالا برای محدود کردن تعداد درخواست های اتصال TCP، می خواهند مقدار زمان پایان زیادی داشته باشند.

مزایای اتصال keep alive

هدر HTTP keep-alive ارتباط بین یک کلاینت و سرور شما را حفظ می کند و زمان مورد نیاز برای ارائه فایل ها را کاهش می دهد. اتصال دائمی همچنین تعداد درخواست های اتصال TCP و SSL/TLS را کاهش می دهد که منجر به کاهش زمان رفت و برگشت (RTT) می شود.

ایجاد یک اتصال TCP ابتدا به یک دست دادن سه طرفه نیاز دارد - مبادله متقابل بسته های SYN و ACK بین مشتری و سرور قبل از انتقال داده ها. استفاده از هدر keep-alive به معنای عدم نیاز به انجام مداوم این فرآیند است. این منجر به:

حفاظت از منابع شبکه - استفاده از یک اتصال واحد به ازای هر مشتری، هزینه کمتری بر منابع شبکه وارد می کند.

کاهش ازدحام شبکه - کاهش تعداد اتصالات TCP بین سرورها و مشتریان شما می تواند منجر به کاهش ازدحام شبکه شود.

کاهش تاخیر – کاهش تعداد دست دادن های سه طرفه می تواند منجر به بهبود تاخیر سایت شود. این امر به ویژه در مورد اتصالات SSL/TLS که نیاز به رفت و برگشت اضافی برای رمزگذاری و تأیید اتصالات دارند، صادق است.


پست های توصیه شده