2010-06-25 10 views
9

कैश नियंत्रण सेट करने का सही तरीका क्या है?Google ऐप इंजन - हेडर [] और headers.add_header() कैश नियंत्रण

कभी कभी मैं हेडर के उपयोग []

self.response.headers["Pragma"]="no-cache" 
self.response.headers["Cache-Control"]="no-cache, no-store, must-revalidate, pre-check=0, post-check=0" 
self.response.headers["Expires"]="Thu, 01 Dec 1994 16:00:00" 

अन्य बार देखते हैं, मैं headers.add_header()

self.response.headers.add_header("Pragma","no-cache") 
self.response.headers.add_header("Cache-Control","no-cache, no-store, must-revalidate, pre-check=0, post-check=0") 
self.response.headers.add_header("Expires","Thu, 01 Dec 1994 16:00:00") 

और यहां तक ​​कि दोनों हेडर [] और headers.add_header का मिश्रण देखें()

self.response.headers["Pragma"]="no-cache" 
self.response.headers.add_header("Cache-Control","no-cache, no-store, must-revalidate, pre-check=0, post-check=0") 
self.response.headers.add_header("Expires","Thu, 01 Dec 1994 16:00:00") 

उत्तर

10

अंतर यह है कि headers[] का उपयोग कर पिछले मानों के ऊपर लिख देगा, जबकि ०१२३६९६९६८ हैनहीं होगा।

wsgiref.headers docs (GAE docs द्वारा संदर्भित) से, "हेडर सेट करना उस शीर्षलेख के लिए किसी भी मौजूदा मान को हटा देता है, फिर लिपटे हेडर सूची के अंत में एक नया मान जोड़ता है।"

+2

तो कैश नियंत्रण सेट करने के लिए, बस 'हेडर []' का उपयोग करें क्योंकि इन हेडर एकल-मूल्यवान हैं (उदाहरण के लिए आप एकाधिक 'प्रज्ञा' शीर्षलेख दिखाना नहीं चाहते हैं)। –