Cache-Control: no-cache ilə proksidən keçən yükləməni yenidən yoxlayın
Yükləmə URL-ni dəyişmədən təsdiqlənmiş cavab istəyin və yenidən yoxlamanı saxlama qadağası ilə qarışdırmayın.
Yükləmə URL-i doğrudur, lakin ortaq proksidə hələ də saxlanmış cavab var. Əgər əməliyyat mənbə ilə təsdiqlənmiş cavab tələb edirsə, bu tələbi sorğunun üzərinə qoyun:
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)
Bu fraqment tətbiqin binar çıxış axınına sahib olduğunu və HTTPS download_url təqdim etdiyini fərz edir. Proksi autentifikasiyası olmadan icazəli ictimai yükləməni sınamaq üçün opener-də HTTP proksi siyahısından HTTP son nöqtə namizədi istifadə edin; sorğunun keş tələbi eyni qalır. O, orijinal resurs URL-ini saxlayır və sorğu yolundakı keşlərdən təkrar istifadədən əvvəl təsdiqləmə tələb edir.
Təsdiqləmə saxlanmış baytları yenidən istifadə edə bilər
no-cache alan uyğun keş bu sorğunu mənbə ilə uğurlu təsdiqləmə olmadan saxlanmış cavabdan ödəyə bilməz. Mənbə saxlanmış təsvirin hələ də etibarlı olduğunu təsdiqləyə bilər, buna görə əməliyyat dəyişməmiş faylı mənbədən yenidən göndərməli deyil.
Sorğunun max-age=0 dəyəri yaş həddini ifadə edir. Tətbiq bu hədddən köhnə olmayan cavab istədikdə faydalıdır, lakin bu, saxlama qadağası deyil. Təzəcə yaradılmış cavab bu şərti ödəyə bilər.
Təsadüfi sorğu parametri əlavə etmək başqa hədəf URI tələb edir. Bu, başqa keş qeydi yarada və ya tətbiqin cavabını dəyişə bilər. Sorğu parametrini yalnız resursun nəzərdə tutulan interfeysinin bir hissəsi olduqda istifadə edin.
Adi HTTPS CONNECT üçün tunel proksisi bu başlığı TLS daxilində görə bilməz. Siyasət yenə də mənbəyə və deşifrə edilmiş HTTP mübadiləsini idarə edən keşlərə çata bilər. Saxlanmış cavabı tunelə aid etməzdən əvvəl onun həqiqətən harada yaşadığını yoxlayın.