Proksiserveri kaudu allalaadimise uuesti valideerimine päisega Cache-Control: no-cache
Taotlege valideeritud vastust ilma allalaadimise URL-i muutmata ja ajamata segi uuesti valideerimist salvestamise keeluga.
Allalaadimise URL on õige, kuid jagatud proksil on endiselt salvestatud vastus. Kui toiming vajab lähtekohas valideeritud vastust, pane see nõue päringule:
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)
See fragment eeldab, et rakendusel on binaarne väljundvoog ja see annab HTTPS download_url-i. Lubatud avaliku allalaadimise proovimiseks ilma proksi autentimiseta kasuta openeris HTTP proksiserverite loendist HTTP-lõpp-punkti kandidaati; päringu vahemällu salvestamise nõue jääb samaks. See hoiab algse ressursi URL-i, paludes samal ajal päringu teel olevatel vahemäludel valideerida enne uuesti kasutamist.
Valideerimine saab salvestatud baite uuesti kasutada
no-cache päise saanud nõuetele vastav vahemälu ei saa seda päringut salvestatud vastusest täita ilma lähtekohas edukalt valideerimata. Lähtekoht saab kinnitada, et salvestatud esitus on endiselt kehtiv, seega ei pea toiming muutumatut faili lähtekohast uuesti edastama.
Päringu max-age=0 väljendab vanusepiiri. See on kasulik, kui rakendus soovib vastust, mis ei ole sellest piirist vanem, kuid see ei ole salvestamise keeld. Äsja loodud vastus võib sellele vastata.
Juhusliku päringuparameetri lisamine küsib teist siht-URI-t. See võib tekitada teise vahemälukirje või isegi muuta rakenduse vastust. Kasuta päringuparameetrit ainult siis, kui see on osa ressursi kavandatud liidesest.
Tavalise HTTPS CONNECT puhul tunnel-proksi ei näe seda päist TLS-i sees. Poliitika võib siiski jõuda lähtekohani ja vahemäludeni, mis tegelevad dekrüpteeritud HTTP-vahetusega. Enne salvestatud vastuse tunnelile omistamist kontrolli, kus see tegelikult asub.