مهلتهای CONNECT پروکسی پس از موفقیت اتصال TCP
بهجای فرض اینکه اتصال TCP کامل شده، راهاندازی تونل را هم تمام کرده است، مهلتی را که در طول CONNECT فعال است پیدا کنید.
مهلت اتصال TCP به محض اینکه کلاینت به پروکسی متصل شود کار خود را انجام داده است. انتظار بعدی—دریافت پاسخ کامل CONNECT—ممکن است با زمانسنج دیگری کنترل شود.
ممکن است پروکسی هنوز در حال اتصال به بالادست، تبادل پیامهای احراز هویت یا انتظار برای سرویس دیگری باشد. پاسخ عادی وبسایت هنوز آغاز نشده است.
| آخرین مرحله تکمیلشده | هنوز منتظر چه چیزی هستیم؟ |
|---|---|
| TCP به پروکسی متصل شد | دستدادن پروکسی، از جمله پذیرش CONNECT |
| CONNECT پذیرفته شد | TLS مقصد، وقتی هدف از آن استفاده میکند |
| درخواست مقصد ارسال شد | پاسخ مقصد |
زمانسنجی را پیدا کنید که هنگام خواندن و نوشتن این دستدادن توسط کانکتور فعال است. ویژگیای به نام «response timeout» ممکن است تنها پس از برقراری مسیر اعمال شود. در HttpClient 5، میان ConnectionConfig و مهلت سوکت آن، پیکربندی دستدادن TLS و مهلت پاسخ در سطح درخواست تمایز بگذارید. پیکربندی مرتبط اتصال را از طریق مدیریتکنندهای که کلاینت واقعی استفاده میکند اعمال کنید. نسلهای قدیمی Apache HttpClient از APIهای متفاوتی استفاده میکنند، بنابراین یک قطعه کد قدیمی نقشه قابل اعتمادی از این مسئولیتها نیست.
رد نهایی CONNECT را بهعنوان پاسخ پروکسی نگه دارید. پاسخ موفق همراه با توقف TLS مرحله شکست دیگری است. «TCP متصل شد؛ هیچ پاسخ کامل CONNECT پیش از مهلت راهاندازی نیست» مشکل را دقیقتر از یک مهلت عمومی پروکسی توصیف میکند.
یک مهلت کلی میتواند انتظار فراخوان را در کنار این محدودیتهای مرحلهای محدود کند. هنگام انقضا، پیش از آنکه تلاش دیگر ظرفیت اتصال را مصرف کند، عملیات را از طریق چرخه عمری که کلاینت پشتیبانی میکند لغو یا ببندید.