เอกสารนี้ใช้กับวิธีการต่อไปนี้
อัปเดตคำขอ
เพื่อป้องกันไม่ให้เซิร์ฟเวอร์ทำงานหนักเกินไปและใช้ประโยชน์จากการปกป้องที่ดีที่สุด อัปเดต API (v4) จะกำหนดช่วงเวลาสำหรับความถี่ที่ไคลเอ็นต์จะส่งคำขอไปยังเซิร์ฟเวอร์ Google Safe Browsing เพื่อทำการตรวจสอบ URL (fullHashes.find) หรืออัปเดตฐานข้อมูลในเครื่อง (threatListUpdates.fetch)
คำขอข้อมูลเริ่มต้นจะต้องเกิดขึ้นในช่วงเวลาแบบสุ่มระหว่าง 0 ถึง 1 นาทีหลังจากที่ไคลเอ็นต์เริ่มต้นหรือเริ่มทำงาน คำขอที่ตามมาจะเกิดขึ้นก็ต่อเมื่อมีการทำตามระยะเวลารอขั้นต่ำหรือโหมดย้อนกลับเท่านั้น
ระยะเวลารอต่ำสุด
ทั้งการตอบกลับ FullHashes.find และการตอบกลับ threatListUpdates.fetch
มีช่อง minimumWaitDuration
ที่ไคลเอ็นต์ต้องปฏิบัติตาม
หากไม่ได้ตั้งค่าช่อง minimumWaitDuration
ในการตอบกลับ ไคลเอ็นต์จะอัปเดตได้บ่อยเท่าที่ต้องการและส่งคำขอ threatListUpdates
หรือ fullHashes
ได้มากเท่าที่ต้องการ
หากตั้งค่าช่อง minimumWaitDuration
ในการตอบกลับ ไคลเอ็นต์จะอัปเดตบ่อยกว่าระยะเวลารอไม่ได้ เช่น หากการตอบกลับด้วย fullHashes
มีระยะเวลารอขั้นต่ำ 1 ชั่วโมง ไคลเอ็นต์ต้องไม่ส่งคำขอ fullHashes
ใดๆ จนกว่าจะผ่านชั่วโมงนั้นไปแล้ว แม้ว่าผู้ใช้จะไปที่ URL ที่มีคำนำหน้าแฮชตรงกับฐานข้อมูลในเครื่องก็ตาม (โปรดทราบว่าไคลเอ็นต์จะอัปเดตได้น้อยกว่าระยะเวลารอขั้นต่ำ แต่อาจส่งผลเสียต่อการปกป้อง)
โหมด Back-off
การย้อนกลับอัตโนมัติจะมีผลกับทั้งการตอบสนอง FullHashes.find และการตอบสนอง threatListUpdates.fetch
ไคลเอ็นต์ที่ได้รับการตอบกลับ HTTP ที่ไม่สำเร็จ (กล่าวคือ รหัสสถานะ HTTP อื่นที่ไม่ใช่ 200 OK
) ต้องเข้าสู่โหมดย้อนกลับ เมื่ออยู่ในโหมดย้อนกลับ ไคลเอ็นต์ต้องรอระยะเวลาที่คำนวณก่อน จึงจะส่งคำขออื่นไปยังเซิร์ฟเวอร์ได้
ไคลเอ็นต์ต้องใช้สูตรต่อไปนี้ในการคำนวณระยะเวลา Back-off
MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)
N คือจำนวนคำขอที่ไม่สำเร็จต่อเนื่องกันซึ่งไคลเอ็นต์ได้รับประสบการณ์ (เริ่มต้นด้วย N=1 หลังจากคำขอที่ไม่สำเร็จครั้งแรก) RAND เป็นตัวเลขสุ่มระหว่าง 0 ถึง 1 ซึ่งต้องเลือกหลังจากการอัปเดตที่ไม่สำเร็จทุกครั้ง
เมื่อไคลเอ็นต์ได้รับการตอบกลับ HTTP ที่สำเร็จ ไคลเอ็นต์จะต้องออกจากโหมด Back-off และทำตามระยะเวลารอขั้นต่ำที่ระบุไว้ด้านบน