Herwaardeer 'n aflaai deur 'n proxy met Cache-Control: no-cache
Vra 'n gevalideerde antwoord sonder om die aflaai-URL te verander of herwaardasie met 'n verbod op berging te verwar.
Die aflaai-URL is korrek, maar 'n gedeelde proxy het steeds 'n gestoorde antwoord. As die bewerking 'n antwoord nodig het wat by die oorsprong gevalideer is, plaas daardie vereiste op die versoek:
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)
Hierdie fragment aanvaar dat die toepassing 'n binêre uitvoerstroom besit en 'n HTTPS download_url verskaf. Om 'n toegelate openbare aflaai sonder proxy-verifikasie te probeer, gebruik 'n HTTP-eindpuntkandidaat uit die HTTP-proxylys in die opener; die versoek se kasvereiste bly dieselfde. Dit behou die oorspronklike hulpbron-URL terwyl dit die kasgeheues op die versoekpad vra om te valideer voordat dit hergebruik word.
Validasie kan die gestoorde grepe hergebruik
'n Voldoende kas wat no-cache ontvang, kan nie hierdie versoek uit 'n gestoorde antwoord bevredig sonder suksesvolle validering by die oorsprong nie. Die oorsprong kan bevestig dat die gestoorde voorstelling geldig bly, so die bewerking hoef nie 'n onveranderde lêer van die oorsprong af weer te stuur nie.
'n Versoek se max-age=0 druk 'n ouderdomsbeperking uit. Dit is nuttig wanneer die toepassing 'n antwoord wil hê wat nie ouer as daardie beperking is nie, maar dit is nie 'n verbod op berging nie. 'n Antwoord wat pas gegenereer is, kan dit bevredig.
Om 'n ewekansige navraagparameter by te voeg, vra 'n ander teiken-URI aan. Dit kan nog 'n kasinskrywing skep of selfs die toepassing se antwoord verander. Gebruik 'n navraagparameter net wanneer dit deel van die hulpbron se bedoelde koppelvlak is.
Vir gewone HTTPS CONNECT kan die tonnel-proxy nie hierdie kop in TLS sien nie. Die beleid kan steeds die oorsprong en die kasgeheues bereik wat die ontsleutelde HTTP-uitruiling hanteer. Kontroleer waar die gestoorde antwoord werklik woon voordat jy dit aan die tonnel toeskryf.