API:Caching data
This page is part of the MediaWiki Action API documentation. |
Controlling caching จาก client
โปรโตคอล HTTP ช่วยให้สามารถควบคุมวิธีที่เบราว์เซอร์และเนื้อหาเว็บพร็อกซีแคชผ่านทางค่าต่างๆที่กำหนดไว้ในส่วนหัว Cache-Control
(ใช้งานได้เฉพาะสำหรับคำขอ GET)
API ช่วยให้ลูกค้าสามารถกำหนดค่าเหล่านี้ ได้แก่ max-age
และ s-maxage
, ผ่าน API parameters maxage
และ smaxage
maxage
บอกเบราว์เซอร์ว่าคำตอบควรถูกแคชไว้นานเท่าใด (เป็นวินาที)
smaxage
ทำเช่นเดียวกันสำหรับผู้รับมอบฉันทะที่ใช้ร่วมกัน ในทางปฏิบัติมักใช้เพื่อสั่งให้พร็อกซีย้อนกลับฝั่งเซิร์ฟเวอร์ (เช่น Wikimedia's Varnish )
ข้อผิดพลาดจะไม่แคช การตอบกลับที่เฉพาะเจาะจงของผู้ใช้จะถูกทำเครื่องหมายเป็น Cache-Control: private
ดังนั้นเบราว์เซอร์จะแคช แต่พร็อกซีสาธารณะจะไม่
ปัจจุบัน API ใช้การตั้งค่าภาษาของผู้ใช้ที่เข้าสู่ระบบโดยค่าเริ่มต้นดังนั้นการตอบสนองต่อผู้ใช้ที่เข้าสู่ระบบอยู่เสมอ
ซึ่งสามารถหลีกเลี่ยงโดยการเพิ่ม uselang=content
พารามิเตอร์ API (T97096).
การเพิ่มอัตราส่วนการเข้าถึงแคช
คำขอจะได้รับจากแคชเท่านั้นหาก URL ที่เก็บถูกแคชไว้
(เช่น. ถ้าคุณทำคำขอเดียวกันด้วย maxage=1800
แล้วใช้ maxage=3600
ส่วนที่สองจะไม่สามารถใช้รายการแคชแรกเนื่องจากพารามิเตอร์ maxage
ต่างกันทำให้ URL ต่างกัน)
หากคุณส่งรายชื่อหน้าเป็นพารามิเตอร์คุณอาจเพิ่มอัตราส่วนการเข้าถึงแคชโดยการเรียงลำดับและการคัดลอกข้อมูลเหล่านั้น
การควบคุมแคชจากโมดูล API
วิธีการแคชถูกระบุโดย ApiMain::setCache*
Typically caching is only going to be a concern in the query submodules, which should use getCacheMode
method instead, which they inherit from ApiQueryBase
.