ความถี่ของคําขอ

เอกสารนี้ใช้กับวิธีการต่อไปนี้

  • อัปเดต API (v4): fullHashes.find
  • อัปเดต API (v4): threatListUpdates.fetch
  • อัปเดตคำขอ

    อัปเดต API (v4) เพื่อป้องกันไม่ให้เซิร์ฟเวอร์ทำงานหนักเกินไปและเพื่อรับประโยชน์จากการป้องกันที่ดีที่สุด ช่วงเวลาว่าไคลเอ็นต์สามารถส่งคำขอไปยังเซิร์ฟเวอร์ Google Safe Browsing ได้บ่อยเพียงใด ตรวจสอบ URL (fullHashes.find) หรือเพื่ออัปเดตฐานข้อมูลในเครื่อง (threatListUpdates.fetch).

    คำขอข้อมูลเริ่มต้นต้องเกิดขึ้นแบบสุ่มช่วงเวลาระหว่าง 0 ถึง 1 นาทีหลังจาก เครื่องเริ่มหรือตื่น คำขอที่ตามมาจะเกิดขึ้นหลังจาก ระยะเวลารอขั้นต่ำหรือ จำกัดเวลาการใช้โหมดย้อนกลับแล้ว สังเกตการณ์แล้ว

    ระยะเวลารอขั้นต่ำ

    ทั้ง fullHashes.find response และ การตอบสนองของ threatListUpdates.fetch มีฟิลด์ minimumWaitDuration ที่ลูกค้าต้องปฏิบัติตาม

    หากไม่ได้ตั้งค่าช่อง minimumWaitDuration ในการตอบกลับ ไคลเอ็นต์จะทำสิ่งต่อไปนี้ได้ อัปเดตบ่อยเท่าที่ต้องการและส่งคำขอ threatListUpdates หรือ fullHashes ได้มากเท่าที่ต้องการ ที่พวกเขาต้องการ

    หากมีการตั้งค่าช่อง minimumWaitDuration ในการตอบกลับ ไคลเอ็นต์จะทำสิ่งต่อไปนี้ไม่ได้ อัปเดตบ่อยกว่าระยะเวลาของการรอ เช่น หากคำตอบ fullHashes มีระยะเวลารอขั้นต่ำ 1 ชั่วโมง ลูกค้าต้องไม่ส่งคำขอ fullHashes ใดๆ จนกว่าชั่วโมงนี้จะผ่านไป แม้ว่าผู้ใช้จะเข้าชม URL ที่มีส่วนนำหน้าแฮชตรงกับ URL ของเครื่อง ฐานข้อมูล (โปรดทราบว่าไคลเอ็นต์จะอัปเดตได้น้อยกว่าระยะเวลาการรอขั้นต่ำ แต่การตั้งค่านี้ อาจส่งผลเสียต่อการป้องกัน)

    โหมดย้อนกลับ

    การสำรองข้อมูลอัตโนมัติมีผลกับ fullHashes.find response และ threatListUpdates.fetchการตอบกลับ

    ไคลเอ็นต์ที่ได้รับการตอบสนอง HTTP ที่ไม่สำเร็จ (กล่าวคือ รหัสสถานะ HTTP อื่นๆ ที่นอกเหนือจาก 200 OK) ต้องเข้าสู่โหมดแบ็คออฟ เมื่ออยู่ในโหมดย้อนกลับ ไคลเอ็นต์ต้องรอเวลาที่คำนวณ ระยะเวลาก่อนที่จะส่งคำขอใหม่ไปยังเซิร์ฟเวอร์

    ลูกค้าต้องใช้สูตรต่อไปนี้เพื่อคํานวณระยะเวลาย้อนกลับ

    MIN((2N-1 * 15 minutes) * (RAND + 1), 24 hours)

    N หมายถึงจำนวนคำขอที่ไม่สำเร็จต่อเนื่องซึ่งลูกค้าได้รับ (ขึ้นต้นด้วย N=1 หลังจากคำขอแรกที่ไม่สำเร็จ) RAND เป็นเลขสุ่มที่มีค่าระหว่าง 0 ถึง 1 ซึ่งต้องเลือกหลังจากการอัปเดต ที่ไม่สำเร็จทุกครั้ง

    เมื่อไคลเอ็นต์ได้รับการตอบสนอง HTTP สำเร็จ ไคลเอ็นต์ต้องออกจากโหมด Back-off และปฏิบัติตาม ระยะเวลารอขั้นต่ำ ที่ระบุข้างต้น