اتصال سمج (پروتکل انتقال ابرمتن): تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
حذف محتوای بدون منبع اصلاح املایی/جمله‌بندی
ویکی‌سازی
خط ۲۳: خط ۲۳:


== معایب ==
== معایب ==
امروزه با توجه به گسترش شبکه‎های پرسرعت، باز نگاه داشتن اتصال وب‎سرور (مثلاً به مدت ۵ ثانیه در آپاچی) بیشتر باعث کاهش کارایی شبکه می‎شود تا افزایش آن.<ref>{{یادکرد وب |نویسنده = |نشانی= http://mocko.org.uk/b/2011/01/23/http-keepalive-considered-harmful/ |عنوان= HTTP Keep Alive is now considered harmful| ناشر = |تاریخ = |تاریخ بازبینی= }}</ref>
* امروزه با توجه به گسترش شبکه‎های پرسرعت، باز نگاه داشتن اتصال وب‎سرور (مثلاً به مدت ۵ ثانیه در آپاچی) بیشتر باعث کاهش کارایی شبکه می‎شود تا افزایش آن.<ref>{{یادکرد وب |نویسنده = |نشانی= http://mocko.org.uk/b/2011/01/23/http-keepalive-considered-harmful/ |عنوان= HTTP Keep Alive is now considered harmful| ناشر = |تاریخ = |تاریخ بازبینی= }}</ref>


برای سرویس‎هایی که تک‎منبعی می‎باشند مانند سرویس [[میزبانی عکس]] بازنگاه‎داشتن اتصال بعد از ارسال منبع تنها هدر دادن توان سرور است.
* برای سرویس‎هایی که تک‎منبعی می‎باشند مانند سرویس [[میزبانی عکس]] بازنگاه‎داشتن اتصال بعد از ارسال منبع تنها هدر دادن توان سرور است.


در حالت ارتباط‌دهنده سمج، برنامه‌می‌تواند این امکان را به‌دست‌آورد که به طور مداوم گزارشات خود را باتوجه به بسته نشدن اتصال، ارسال نماید.<ref>http://javabyab.com/7762/قابلیت-persistent-connection-پروتکل-http-چیست-مزایایی-دارد؟</ref>
* در حالت ارتباط‌دهنده سمج، برنامه‌می‌تواند این امکان را به‌دست‌آورد که به طور مداوم گزارشات خود را باتوجه به بسته نشدن اتصال، ارسال نماید.<ref>http://javabyab.com/7762/قابلیت-persistent-connection-پروتکل-http-چیست-مزایایی-دارد؟</ref>


== استفاده در مرورگرها ==
== استفاده در مرورگرها ==

نسخهٔ ‏۲ اوت ۲۰۱۴، ساعت ۰۸:۱۸

ارتباط‌دهنده سمج، اتصال پایا یا اتصال ماندگار (به انگلیسی: Persistent Connection) ایدهٔ استفاده از یک اتصال TCP برای ارسال و دریافت چندین درخواست و پاسخ HTTP می‎باشد. این ایده در مقابل حالتی که برای هر درخواست HTTP، یک اتصال TCP ایجاد شود، قرار می‎گیرد.

نحوه عملکرد

HTTP 1.0

در نسخهٔ اول از پروتکل انتقال ابرمتن هیچ تعریف رسمی برای استفاده از اتصال پایا وجود نداشت. این تعریف بعدها به این پروتکل افزوده شد. تمامی عوامل کابری که قابلیت اتصال پایا را دارا بودند، سرآیند زیر را به بستهٔ پاسخ می‎افزودند:

Connection: Keep-Alive

با ارسال این درخواست، در صورت پشتیبانی سرور از این نوع اتصال، در بستهٔ پاسخ نیز همین سرآیند افزوده می‎شود. این عمل به معنای موافقت سرور برای برقرار نگاه داشتن اتصال می‎باشد. به‎این‎ترتیب، کلاینت بدون از بین بردن اتصال TCP می‎توانست درخواست بعدی خود را ارسال نماید.

HTTP 1.1

در نسخهٔ ۱٫۱ تمامی اتصال‎ها پایا محسوب می‎شوند مگر اینکه خلاف آن در بسته مشخص گردد.[۱] اتصال‎های پایا در این نسخه از پیام Keep-Alive که در نسخهٔ قبلی استفاده می‎شد، استفاده نمی‎کنند. البته مهلتِ ارسالِ درخواست بر روی اتصال قبلی نیز کم شده است. مثلا در سرور آپاچی نسخهٔ ۲٫۰ این زمان ۱۵ ثانیه[۲] و در نسخهٔ ۲٫۲ تنها ۵ ثانیه[۳] تعریف شده است.

مزیت‎ها

  • امکان استفاده از لوله‎کشی HTTP فراهم می‎شود.
  • نیازی به انجام عمل Handshaking نیست
  • امکان گزارش خطاها بدون نیاز به بستن اتصال

براساس متن تعریف پروتکل انتقال ابرمتن (RFC 2616)[صفحه ۴۶] هیچ کاربری نباید بیش از ۲ اتصال همزمان به یک وب سرور یا پراکسی سرور ایجاد نماید. یک سرور پراکسی نیز تنها می‎تواند 2N اتصال به پراکسی سرور دیگر ایجاد نماید که N تعداد کاربران پراکسی سرور می‎باشد. این امر برای افزایش کارایی پروتکل انتقال ابرمتن انجام شده تا جلوی ایجاد شلوغی در شبکه را بگیرد. در صورت پیاده‎سازی و استفاده صحیح از لوله‎کشی HTTP، اتصال‎های بیشتر هیچ تاثیری در افزایش کارایی شبکه نخواهند داشت.

معایب

  • امروزه با توجه به گسترش شبکه‎های پرسرعت، باز نگاه داشتن اتصال وب‎سرور (مثلاً به مدت ۵ ثانیه در آپاچی) بیشتر باعث کاهش کارایی شبکه می‎شود تا افزایش آن.[۴]
  • برای سرویس‎هایی که تک‎منبعی می‎باشند مانند سرویس میزبانی عکس بازنگاه‎داشتن اتصال بعد از ارسال منبع تنها هدر دادن توان سرور است.
  • در حالت ارتباط‌دهنده سمج، برنامه‌می‌تواند این امکان را به‌دست‌آورد که به طور مداوم گزارشات خود را باتوجه به بسته نشدن اتصال، ارسال نماید.[۵]

استفاده در مرورگرها

مرورگر نت اسکیپ (از نسخهٔ ۴٫۰۵ به بعد) و مرورگر اینترنت اکسپلورر (از نسخهٔ ۴٬۰۱ به بعد) از اتصال پایا پشتیبانی می‎کنند.

مرورگر اینترنت اکسپلورر در نسخه‎های ۶ و ۷ از ۲ اتصال پایا استفاده می‎کند. اما از نسخهٔ ۸ تعداد اتصالات پایای استفاده شده به ۶ رسیده است.[۶] اتصالات پایا بعد از ۶۰ ثانیه عدمِ فعالیت بسته خواهند شد. این مقدار از طریق رجیستری ویندوز قابل تنظیم است.

مرورگر فایرفاکس نیز از این نوع اتصال پشتیبانی می‎کند. تعداد اتصالات قابل تنظیم است. (برای هر سرور یا پراکسی سرور و یا در کل) اتصالات پایا بعد از ۱۱۵ ثانیه عدمِ فعالیت بسته خواهند شد که البته این مقدار نیز قابل تنظیم است.[۷]

مروگر اپرا از نسخهٔ ۴ از اتصالات پایا پشتیبانی می‎کند. تعداد اتصالات همزمان در این مرورگر قابل تنظیم می‎باشد. (برای هر سرور یا در کل)

جستارهای وابسته

منابع

  1. «RFC 2616 - HTTP/1.1 Definition». IETF. تاریخ وارد شده در |تاریخ= را بررسی کنید (کمک)
  2. . Apache 2 Documentation http://httpd.apache.org/docs/2.0/mod/core.html#keepalivetimeout. پارامتر |عنوان= یا |title= ناموجود یا خالی (کمک)
  3. . Apache 2.2 Documentation http://httpd.apache.org/docs/2.2/mod/core.html#keepalivetimeout. پارامتر |عنوان= یا |title= ناموجود یا خالی (کمک)
  4. «HTTP Keep Alive is now considered harmful».
  5. http://javabyab.com/7762/قابلیت-persistent-connection-پروتکل-http-چیست-مزایایی-دارد؟
  6. «IE8 Speeds things up».
  7. http://kb.mozillazine.org/Network.http.keep-alive.timeout. پارامتر |عنوان= یا |title= ناموجود یا خالی (کمک)