Cache-Control: no-cache ашиглан проксигоор татахыг дахин баталгаажуулах
Татах URL-ыг өөрчлөхгүйгээр баталгаажсан хариу хүсэж, дахин баталгаажуулалтыг хадгалах хориотой хольж болохгүй.
Татах URL зөв боловч хуваалцсан проксид хадгалагдсан хариу байсаар байна. Хэрэв үйлдэлд эх сурвалжтай баталгаажсан хариу хэрэгтэй бол тэр шаардлагыг хүсэлт дээр тавина уу:
from urllib.request import ProxyHandler, Request, build_opener
import shutil
opener = build_opener(ProxyHandler({
"https": "http://proxy.example:8080",
}))
request = Request(download_url, headers={"Cache-Control": "no-cache"})
with opener.open(request, timeout=15) as response:
shutil.copyfileobj(response, output)
Энэ хэсэг нь програмд хоёртын гаралтын урсгал байгаа бөгөөд HTTPS download_url нийлүүлдэг гэж үздэг. Прокси баталгаажуулалтгүйгээр зөвшөөрөгдсөн нийтийн татахыг туршихын тулд opener дотор HTTP прокси жагсаалтаас HTTP төгсгөлийн цэгийн нэр дэвшигчийг ашиглана уу; хүсэлтийн кэш шаардлага хэвээр байна. Энэ нь нөөцийн анхны URL-ыг хадгалж, хүсэлтийн зам дээрх кэшүүдэд дахин ашиглахаас өмнө баталгаажуулахыг хүсдэг.
Баталгаажуулалт хадгалагдсан байтуудыг дахин ашиглаж болно
no-cache хүлээн авсан нийцтэй кэш нь эх сурвалжтай амжилттай баталгаажуулалтгүйгээр энэ хүсэлтийг хадгалагдсан хариунаас биелүүлж чадахгүй. Эх сурвалж хадгалагдсан дүрслэл хүчинтэй хэвээр байгааг баталж чадах тул үйлдэл өөрчлөгдөөгүй файлыг эх сурвалжаас дахин илгээх шаардлагагүй.
Хүсэлт дэх max-age=0 нь насны хязгаарыг илэрхийлнэ. Програм тэр хязгаараас хуучин биш хариу хүсэх үед ашигтай боловч энэ нь хадгалах хориг биш. Дөнгөж үүсгэсэн хариу үүнийг биелүүлж чадна.
Санамсаргүй асуулга параметр нэмэх нь өөр зорилтот URI хүсдэг. Энэ нь өөр кэш бичлэг үүсгэх эсвэл програмын хариуг ч өөрчилж болно. Асуулга параметрийг зөвхөн нөөцийн зориулалтын интерфэйсийн хэсэг байхад нь ашиглана уу.
Энгийн HTTPS CONNECT-ийн хувьд туннелийн прокси TLS дотор энэ толгойг харж чадахгүй. Бодлого эх сурвалж болон тайлагдсан HTTP солилцоог хариуцдаг кэшүүдэд хүрч чадна. Хадгалагдсан хариуг туннельд хамааруулахын өмнө энэ нь үнэхээр хаана байгааг шалгана уу.