Татаж авсан файл HTTP статус мөрөөр эхлэх үед
Прокси сокетоос хүлээн авсан бүх байтыг гаралтын файл руу хуулахын оронд HTTP хариуны хүрээг татаж авсан файлаас гадуур байлга.
Хэрэв PDF эсвэл хүснэгт гэж үзсэн файл HTTP/1.1 200 OK-аар эхэлж байвал татагч нь файлын оронд түүхий хариуг хадгалсан байна. Энэхүү схем хариу нь ердөө дөрвөн байт агуулгатай:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
4
DATA
0
Файл нь DATA юм. Статус мөр, толгой хэсгүүд, хэмжээний тэмдэг болон төгсгөлийн бүтэц нь HTTP-д хамаарна. Толгой хэсгийн урт өөр өөр байдаг тул тогтмол тооны байт устгах нь аюулгүй биш. Эхний хоосон мөрийн дараах бүгдийг хуулсан ч хэсэгчилсэн хүрээ үлдэх бөгөөд мэдээллийн хариунууд эцсийн хариуны өмнө ирж болно.
Ердийн таталтын хувьд түүхий сокетоос файл руу хуулах үйлдлийг HTTP клиентийн хариуны их биеийн интерфэйсээр солино уу. Түүний проксийг тохируулж, эцсийн статусыг шалгаад их биеийг түр гаралт руу урсгана уу. Клиент нь мессежийн хүрээг зохицуулдаг: уртаар тодорхойлогдсон, хэсэгчилсэн (chunked) болон холболтоор тодорхойлогдсон их биеүүд өөр өөр задлан шинжлэл шаарддаг.
Агуулгын кодчилол нь өөр нэг давхарга юм. Клиентийн баримтжуулсан зан төлөвийг ашиглан тайлагдсан файлын байт эсвэл тодорхой хүссэн түүхий агуулга аль нь хэрэгтэйг шийдээрэй. Шахагдсан байтууд нь автоматаар проксины гэмтэл биш.
Хэрэв програм сокет түвшний кодоо хадгалах ёстой бол тэр нь эдгээр бүх задлан шинжлэх дүрэм, мөн унших, бичих зохицуулалтыг хариуцна. Буферын багтаамжийг биш, уншилт бодитоор буцаасан байтын тоог л бичээрэй, мөн хэсэгчилсэн бичилтийг зохицуулаарай. Эс тэгвээс хуучирсан буферын агуулга зөв гаргаж авсан их биеийг ч гэмтээж болно.
HTTPS нь CONNECT хариуг арилгахаас илүүг шаарддаг: туннелийг амжилттай тогтоосны дараа очих газрын TLS-ийг бий болгож, дараа нь дотоод HTTP хариуг задлан шинжилнэ. Проксины толгой хэсгүүдийн дараах шифрлэгдсэн байтууд нь татаж болох файл биш.
Амжилтгүй эсвэл дутуу гаралтыг түр нэрээр үлдээгээрэй. Зөвхөн дамжуулалт болон файлын шалгалтууд амжилттай болсны дараа нийтэлнэ үү; хоосон биш файл бүрэн таталтыг батлахгүй.