Ukusakaza nge-proxy yangaphambili kuqhathaniswa nokugcina impendulo ephelele
Hlukanisa ukusakaza, ukugcina ngokufunda kuqala kanye nokucutshungulwa kwempendulo ephelele lapho ukulanda kubonakala kubambe ku-proxy.
Lapho ukulanda kubonakala kubambe, hlukanisa izigameko ezintathu: ukufika kwezihloko zempendulo, ukufika kwamabhayithi omzimba, kanye nekhono lohlelo lokusebenzisa noma lokubonisa umphumela. Isipinishi sodwa asikwazi ukuthola ukuthi yikuphi okubambezelayo.
Izigaba ezijwayelekile zokusakaza zingahlangana:
origin produces a chunk → proxy forwards bytes → client consumes themI-proxy ingabhala okuqukethwe okufanele kusilondolozi ngesikhathi ikudlulisela. Ukugcina akudingi ukulinda ifayela lonke. read_ahead_gap ye-Squid ilawula ukutholwa okuhamba ngaphambi kokulethwa, okuwolunye uhlobo lokugcina.
Ingcindezi yokubuyela emuva ingamisa okwesikhashana ukufundwa kwaphezulu lapho iklayenti elihamba kancane ligcwalisa imigqa yokuphuma. I-Content-Length nayo inikeza ubude ngaphandle kokugcina okuphelele. Ukufakwa kwekhodi kwe-HTTP/1.1 chunked kuvumela ukulethwa kancane kancane, kodwa akukwazi ukuthembisa ukubambezeleka okuphansi uma ingxenye yangaphambili ibamba idatha.
Bese uhlola izigaba zokucubungula. Ukubhala kabusha noma ukuhlola kungadinga ingxenye noma umzimba wonke. Ukucindezela nokwakhiwa kohlelo kungabambezela ukuphuma okusizayo. Kuklayenti, indlela elinda uhlu oluphelele lwamabhayithi ibuyela emuva, futhi isiphequluli singathola amabhayithi ngaphambi kokuba sikwazi ukuwabonisa.
Ngemuva kwe-CONNECT ephumelelayo, i-proxy evamile idlulisela umfudlana wesevisi ngaphandle kokudinga ubude bokugcina befayela elisemhubheni. Landela isigameko sokuqala esingekho ngenhla ngaphambi kokushintsha izilungiselelo zesilondolozi noma sesikhathi. Lapho i-curl ingumbukeli, inketho yayo ye-no-buffer ishintsha isigaba sokuphuma sasendaweni.