Revalidigi elŝuton tra prokurilo per Cache-Control: no-cache
Petu validigitan respondon sen ŝanĝi la elŝutan URL-on kaj sen konfuzi revalidigon kun malpermeso de konservado.
La elŝuta URL estas ĝusta, sed komuna prokurilo ankoraŭ havas konservitan respondon. Se la operacio bezonas respondon validigitan ĉe la origino, metu tiun postulon sur la peton:
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)
Ĉi tiu fragmento supozas, ke la aplikaĵo posedas duuman eligan fluon kaj liveras HTTPS download_url. Por provi permesitan publikan elŝuton sen prokurila aŭtentigo, uzu HTTP-finpunkton kandidaton el la listo de HTTP-prokuriloj en la malfermilo; la kaŝa postulo de la peto restas sama. Ĝi konservas la originan URL-on de la rimedo dum ĝi petas kaŝmemorojn sur la peta vojo validigi antaŭ reuzo.
Validigo povas reuzi la konservitajn bajtojn
Konforma kaŝmemoro, kiu ricevas no-cache, ne povas plenumi ĉi tiun peton el konservita respondo sen sukcesa validigo ĉe la origino. La origino povas konfirmi, ke la konservita reprezentaĵo restas valida, do la operacio ne devas resendi neŝanĝitan dosieron de la origino.
max-age=0 en peto esprimas limon de aĝo. Ĝi utilas kiam la aplikaĵo volas respondon ne pli malnovan ol tiu limo, sed ĝi ne estas malpermeso de konservado. Ĵus kreita respondo povas plenumi ĝin.
Aldoni hazardan kveran parametron petas alian celan URI-on. Tio povas krei alian kaŝan enskribon aŭ eĉ ŝanĝi la respondon de la aplikaĵo. Uzu kveran parametron nur kiam ĝi estas parto de la intencita interfaco de la rimedo.
Ĉe ordinara HTTPS CONNECT, la tunela prokurilo ne povas vidi ĉi tiun kaplinion ene de TLS. La politiko tamen povas atingi la originon kaj la kaŝmemorojn, kiuj traktas la malĉifritan HTTP-interŝanĝon. Kontrolu, kie la konservita respondo efektive loĝas, antaŭ ol atribui ĝin al la tunelo.