API:Caching data/hi

क्लाइंट से कैशिंग को नियंत्रित करना
HTTP प्रोटोकॉल की मदद से,  हैडर में निर्धारित कई वैल्यूओं के ज़रिए इस बात को नियंत्रित किया जा सकता है कि ब्राउज़र और वेब प्रॉक्सियाँ सामग्री को किस तरह से कैश करते हैं। (यह सिर्फ GET अनुरोधों के लिए ही काम करता है।) API से क्लाइंट API पैरामीटर  और   के ज़रिए इस वैल्यू के दो प्रकार सेट कर सकता है,   और  ।

ब्राउज़र को बताता है कि जवाब को कितने देर तक कैश किया जाना चाहिए (सेकंड के नाप पर)। सार्वजनिक प्रॉक्सियों के साथ ऐसा ही करता है। काम करते समय आम तौर पर सर्वर-साइड विलोम प्रॉक्सी को अनुदेश देने के लिए इसी का इस्तेमाल किया जाता है (जैसे विकिमीडिया का )।

Errors are never cached. User-specific responses will be marked as  so the browser will cache them but public proxies won't.  Currently the API uses a logged-in user's language setting by default, so responses to logged-in users are always private. This can be avoided by adding the  API parameter (T97096).

Improving cache hit ratio
A request is only served from cache if that exact URL has been cached. (E.g. if you make the same request with  and then with , the second won't be able to use the first's cache entry because the different   parameter makes the URL different.) If you pass a list of pages as a parameter, you might improve cache hit ratio by sorting and deduplicating them.

Controlling caching from an API module
Caching is specified by the methods. Typically caching is only going to be a concern in the submodules, which should use   method instead, which they inherit from.