Tama ang URL ng download, ngunit may nakaimbak pa ring tugon ang isang shared na proxy. Kung kailangan ng operasyon ang tugon na na-validate sa pinagmulan, ilagay ang kahilingang iyon sa request:

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)

Ipinapalagay ng bahaging ito na may binary output stream ang application at nagbibigay ito ng HTTPS download_url. Upang subukan ang pinapayagang pampublikong download na walang proxy authentication, gumamit ng HTTP endpoint candidate mula sa listahan ng HTTP proxy sa opener; mananatiling pareho ang cache na kailangan ng request. Pinapanatili nito ang orihinal na URL ng resource habang hinihiling sa mga cache sa landas ng request na mag-validate bago gamitin muli.

Maaaring gamitin muli ng validation ang nakaimbak na byte

Ang isang compliant na cache na tumatanggap ng no-cache ay hindi matutugunan ang request na ito mula sa nakaimbak na tugon nang walang matagumpay na validation sa pinagmulan. Makukumpirma ng pinagmulan na valid pa rin ang nakaimbak na representasyon, kaya hindi na kailangang ipadala muli ng operasyon ang hindi nabagong file mula sa pinagmulan.

Ang max-age=0 sa isang request ay nagpapahayag ng limitasyon sa edad. Kapaki-pakinabang ito kapag gusto ng application ang tugon na hindi luma kaysa sa limitasyong iyon, ngunit hindi ito pagbabawal sa pag-iimbak. Ang tugon na kalilikha lang ay makakatugon dito.

Ang pagdaragdag ng random na query parameter ay humihiling ng ibang target na URI. Maaari itong gumawa ng isa pang cache entry o kahit baguhin ang tugon ng application. Gumamit ng query parameter lamang kapag bahagi ito ng nilalayong interface ng resource.

Para sa ordinaryong HTTPS CONNECT, hindi nakikita ng tunneling proxy ang header na ito sa loob ng TLS. Nakakaabot pa rin ang patakaran sa pinagmulan at sa mga cache na humahawak sa na-decrypt na HTTP exchange. Tingnan kung saan talaga nakatira ang nakaimbak na tugon bago ito iugnay sa tunnel.

Kaugnay na mga artikulo