بث الوكيل الأمامي مقابل تخزين الاستجابة الكاملة
افصل بين البث والتخزين المسبق للقراءة ومعالجة الاستجابة الكاملة عندما يبدو أن التنزيل ينتظر عند الوكيل.
عندما يبدو أن التنزيل ينتظر، افصل بين ثلاثة أحداث: وصول ترويسات الاستجابة، ووصول بايتات الجسم، وقدرة التطبيق على استخدام النتيجة أو عرضها. لا يستطيع مؤشر الانتظار وحده تحديد أيّها تأخر.
يمكن أن تتداخل مراحل البث العادية:
origin produces a chunk → proxy forwards bytes → client consumes themيمكن للوكيل كتابة المحتوى المؤهل في الذاكرة المؤقتة أثناء إعادة توجيهه. ولا يتطلب التخزين المؤقت انتظار الملف بأكمله. يتحكم read_ahead_gap في Squid في الجلب الذي يسبق التسليم، وهو نوع آخر من التخزين المؤقت.
قد يوقف الضغط العكسي قراءات المنبع مؤقتًا عندما يملأ عميل بطيء قوائم الإخراج. ويوفر Content-Length الطول أيضًا دون الحاجة إلى تخزين مؤقت كامل. يسمح ترميز HTTP/1.1 المجزأ بالتسليم التدريجي، لكنه لا يضمن زمن استجابة منخفضًا إذا كان مكوّن سابق يحتفظ بالبيانات.
افحص مراحل المعالجة بعد ذلك. قد تحتاج إعادة الكتابة أو الفحص إلى جزء من الجسم أو كله. ويمكن أن تؤخر الضغط وتأطير التطبيق الإخراج المفيد. وعلى جانب العميل، تنتظر طريقة تعتمد على مصفوفة بايتات كاملة قبل أن تعيد، وقد يستقبل المتصفح بايتات قبل أن يتمكن من عرضها.
بعد نجاح CONNECT، يمرر الوكيل العادي تدفق الخدمة دون الحاجة إلى الطول النهائي للملف الأنبوبي. اتبع أول حدث مفقود أعلاه قبل تغيير إعدادات المخزن المؤقت أو المهلة. وعندما يكون curl هو المراقب، يغيّر خياره no-buffer مرحلة الإخراج المحلية.