Tần suất yêu cầu

Tài liệu này áp dụng cho các phương pháp sau:

  • Cập nhật API (phiên bản 4): fullHashes.find
  • Cập nhật API (phiên bản 4): threatListUpdates.fetch
  • Yêu cầu cập nhật

    Để ngăn tình trạng quá tải của máy chủ và hưởng lợi từ khả năng bảo vệ tối ưu, Update API (v4) áp dụng khoảng thời gian về tần suất ứng dụng có thể gửi yêu cầu tới máy chủ Duyệt web an toàn để thực hiện kiểm tra URL (fullHashes.find) hoặc để cập nhật cơ sở dữ liệu cục bộ (threatListUpdates.fetch).

    Yêu cầu ban đầu về dữ liệu phải xảy ra trong khoảng ngẫu nhiên trong khoảng từ 0 đến 1 phút sau khi máy khách khởi động hoặc đánh thức. Các yêu cầu tiếp theo chỉ có thể xảy ra sau thời gian chờ tối thiểu hoặc Đã đặt giới hạn thời gian cho chế độ đợi quan sát thấy.

    Thời gian chờ tối thiểu

    Cả hai thuộc tính trả lời fullHashes.findphản hồi threatListUpdates.fetch có trường minimumWaitDuration mà ứng dụng phải tuân theo.

    Nếu trường minimumWaitDuration không được thiết lập trong phản hồi, ứng dụng có thể cập nhật bao nhiêu lần tuỳ thích và gửi bao nhiêu yêu cầu threatListUpdates hoặc fullHashes tuỳ ý mà họ muốn.

    Nếu trường minimumWaitDuration được đặt trong phản hồi thì ứng dụng không thể cập nhật thường xuyên hơn khoảng thời gian chờ. Ví dụ: nếu một phản hồi fullHashes có thời gian chờ tối thiểu là 1 giờ, ứng dụng không được gửi bất kỳ yêu cầu fullHashes nào cho đến khi qua giờ đó, ngay cả khi người dùng đang truy cập vào một URL có tiền tố hàm băm khớp với cơ sở dữ liệu. (Lưu ý rằng ứng dụng có thể cập nhật ít thường xuyên hơn thời gian chờ tối thiểu, nhưng điều này có thể ảnh hưởng tiêu cực đến khả năng bảo vệ.)

    Chế độ đợi

    Tính năng đợi tự động áp dụng cho cả trả lời fullHashes.findphản hồi threatListUpdates.fetch.

    Máy khách nhận được phản hồi HTTP không thành công (tức là bất kỳ mã trạng thái HTTP nào không phải 200 OK) phải chuyển sang chế độ đợi. Khi ở chế độ đợi, khách hàng phải đợi thời gian đã tính trước khi chúng có thể gửi một yêu cầu khác đến máy chủ.

    Khách hàng phải sử dụng công thức sau đây để tính khoảng thời gian đợi:

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

    N tương ứng với số yêu cầu không thành công liên tiếp mà khách hàng gặp phải (bắt đầu bằng N=1 sau yêu cầu đầu tiên không thành công). RAND là một số ngẫu nhiên từ 0 đến 1 cần được chọn sau mỗi lần cập nhật không thành công.

    Sau khi nhận được phản hồi HTTP thành công, máy khách phải thoát khỏi chế độ đợi và làm theo các bước sau thời gian chờ tối thiểu đã chỉ định ở trên.