Apabila muat turun kelihatan menunggu, asingkan tiga peristiwa: ketibaan pengepala respons, ketibaan bait badan, dan keupayaan aplikasi menggunakan atau memaparkan hasilnya. Pemutar tunggu sahaja tidak dapat mengenal pasti yang mana satu lewat.

Peringkat penstriman biasa boleh bertindih:

origin produces a chunk → proxy forwards bytes → client consumes them

Proksi boleh menulis kandungan yang layak ke cache sambil menghantar semula. Cache tidak memerlukan penantian fail penuh. read_ahead_gap Squid mengawal pengambilan yang mendahului penghantaran, iaitu sejenis penampanan yang lain.

Tekanan balik boleh menghentikan sementara bacaan huluan apabila klien perlahan memenuhi baris gilir output. Content-Length juga memberikan panjang tanpa memerlukan penampanan penuh. Pengekodan HTTP/1.1 chunked membenarkan penghantaran berperingkat, tetapi tidak boleh menjanjikan kependaman rendah jika komponen terdahulu menahan data.

Seterusnya periksa peringkat pemprosesan. Penulisan semula atau pemeriksaan mungkin memerlukan sebahagian atau keseluruhan badan. Pemampatan dan pembingkaian aplikasi boleh melambatkan output berguna. Pada klien, kaedah yang menunggu tatasusunan bait lengkap kembali lebih lewat, dan pelayar mungkin menerima bait sebelum dapat memaparkannya.

Selepas CONNECT berjaya, proksi biasa menghantar semula aliran perkhidmatan tanpa memerlukan panjang akhir fail yang ditebusi. Ikuti peristiwa hilang pertama di atas sebelum menukar tetapan penampan atau tamat masa. Apabila curl ialah pemerhati, pilihan no-buffer-nya menukar peringkat output setempat.

Artikel berkaitan