Squid ద్వారా డౌన్లోడ్ కొనసాగించడం
కొనసాగించే ముందు Range ప్రతిస్పందనలు, ఆబ్జెక్ట్ ఒకటేనా అని తనిఖీ చేయండి. Squid ప్రీఫెచ్ విధానాన్ని ప్రాథమిక Range మద్దతు నుంచి వేరు చేయండి.
download.part ఇప్పుడు కోరబోయే అదే ఆబ్జెక్ట్ ప్రాతినిధ్యానికి చెందినప్పుడు మాత్రమే కొనసాగించండి. ఫైల్ పేరు ఒక్కటే దీన్ని నిర్ధారించదు: మొదటి ప్రయత్నం తర్వాత మూల సర్వర్ విషయం మార్చి ఉండవచ్చు.
curl --proxy http://proxy.example:3128 --noproxy '' --connect-timeout 5 --max-time 60 -C - --output download.part http://files.example/test.binరెండు ఎండ్పాయింట్లనూ ఉపయోగించే హక్కున్న సేవలతో మార్చండి. పబ్లిక్ ప్రాక్సీలు అనుమతించే పబ్లిక్ ఫైల్ పోలికకు HTTP ప్రాక్సీ జాబితా నుంచి HTTP ఎండ్పాయింట్ తీసుకోండి. -C - ఉన్న ఫైల్ పరిమాణాన్ని కొనసాగింపు స్థానం చేస్తుంది. వచ్చిన ప్రతి బాడీని లేని బైట్లుగా పరిగణించకుండా గమ్య ప్రతిస్పందన చూడండి:
| ప్రతిస్పందన | అర్థం |
|---|---|
| Content-Rangeతో 206 | తిరిగొచ్చిన పరిధి ఆశించిన కొనసాగింపేనా తనిఖీ చేయండి. |
| 200 | సర్వర్ Rangeను విస్మరించి పూర్తి ప్రాతినిధ్యాన్ని పంపి ఉండవచ్చు. |
| 416 | కోరిన పరిధి అందించలేము; దోష పేజీని ఫైల్కు జత చేయవద్దు. |
వాలిడేటర్లు, If-Range మారే వనరు వేర్వేరు వెర్షన్లు కలపడాన్ని నివారించడంలో సహాయపడతాయి. పూర్తయిన ఫైల్ నమ్మే ముందు యాప్ ప్రాతినిధ్య నియమాలు అనుసరించండి.
Squid 6.13లోని range_offset_limit కాష్ కోసం ఆబ్జెక్ట్ను ఎప్పుడు మొదటి నుంచి తెచ్చుకోవాలో నియంత్రిస్తుంది, క్లయింట్ పరిధి కోరవచ్చా అన్నది కాదు:
range_offset_limit 0సున్నా హద్దు కేవలం కాష్ నింపడానికి అదనపు ప్రారంభ భాగం తెచ్చుకోవడాన్ని నివారిస్తుంది. ఆబ్జెక్ట్ కాష్ చేయకుండా ఉపయోగకర పరిధి పంపడమూ విజయవంతం కావచ్చు. సాధారణ HTTPS CONNECTలో Range మార్పిడి గమ్య TLS లోపల ఉంటుంది; ఆ ప్రతిస్పందన చదవండి, Squidకు కనిపించే ఆబ్జెక్ట్ కాష్ విధానాన్ని లోపలి అభ్యర్థన నియంత్రణగా భావించవద్దు.