ئالدىنقى ۋاكالەتچى ئارقىلىق ئېقىنلاشتۇرۇش بىلەن تولۇق جاۋابنى ساقلىش
چۈشۈرۈش ۋاكالەتچىدە ساقلاۋاتقاندەك كۆرۈنگەندە، ئېقىنلاشتۇرۇش، ئالدىن ئوقۇش ساقلىقى ۋە تولۇق جاۋاب بىر تەرەپ قىلىشنى ئايرىڭ.
چۈشۈرۈش ساقلاۋاتقاندەك كۆرۈنگەندە ئۈچ ۋەقەنى ئايرىڭ: جاۋاب ماۋزۇلىرىنىڭ كېلىشى، گەۋدە بايتلىرىنىڭ كېلىشى، ۋە پروگراممىنىڭ نەتىجىنى ئىشلىتەلىشى ياكى كۆرسىتەلىشى. پەقەت ئايلانما كۆرسەتكۈچ قايسىسىنىڭ كېچىكىۋاتقانلىقىنى بىلەلمەيدۇ.
نورمال ئېقىنلاشتۇرۇش باسقۇچلىرى بىر-بىرىگە قاتلىنىشى مۇمكىن:
origin produces a chunk → proxy forwards bytes → client consumes themۋاكالەتچى يۆتكەۋاتقاندا مۇۋاپىق مەزمۇننى غەملەككە يازالايدۇ. غەملەش پۈتۈن ھۆججەتنى ساقلاشنى تەلەپ قىلمايدۇ. Squid نىڭ read_ahead_gap يەتكۈزۈشتىن ئىلگىرى ماڭىدىغان ئېلىشنى كونترول قىلىدۇ، بۇ ساقلاشنىڭ يەنە بىر تۈرى.
ئاستا خېرىدار چىقىرىش قاتارلىرىنى تولدۇرغاندا قايتۇرما بېسىم يۇقىرى ئېقىندىكى ئوقۇشنى ۋاقىتلىق توختىتالايدۇ. Content-Length مۇ تولۇق ساقلاشسىز ئۇزۇنلۇقنى بېرىدۇ. HTTP/1.1 chunked كودلاش باسقۇچلۇق يەتكۈزۈشكە يول قويىدۇ، ئەمما ئالدىنقى بۆلەك سانلىق مەلۇماتنى تۇتۇپ تۇرسا تۆۋەن كېچىكىشكە كاپالەتلىك قىلالمايدۇ.
ئاندىن بىر تەرەپ قىلىش باسقۇچلىرىنى تەكشۈرۈڭ. قايتا يېزىش ياكى تەكشۈرۈش گەۋدىنىڭ بىر قىسمى ياكى ھەممىسىنى تەلەپ قىلىشى مۇمكىن. پىرىسلاش ۋە پروگرامما رامكىسى پايدىلىق چىقىرىشنى كېچىكتۈرۈشى مۇمكىن. خېرىداردا پۈتۈن بايت تىزمىسىنى ساقلايدىغان ئۇسۇل كېيىن قايتىدۇ، توركۆرگۈچ بايتلارنى كۆرسىتىشتىن ئىلگىرى قوبۇل قىلىشى مۇمكىن.
مۇۋەپپەقىيەتلىك CONNECT دىن كېيىن ئادەتتىكى ۋاكالەتچى تۇڭەل قىلىنغان ھۆججەتنىڭ ئاخىرقى ئۇزۇنلۇقىنى بىلمەي تۇرۇپ مۇلازىمەت ئېقىمىنى يۆتكەيدۇ. ساقلاش ياكى ۋاقىت چېكى تەڭشەكلىرىنى ئۆزگەرتىشتىن ئىلگىرى يۇقىرىدىكى تۇنجى يوقالغان ۋەقەنى ئەگىشىڭ. curl كۆزەتكۈچ بولغاندا، ئۇنىڭ no-buffer تاللىمى يەرلىك چىقىرىش باسقۇچىنى ئۆزگەرتىدۇ.