요청 빈도

이 문서는 다음 메서드에 적용됩니다.

  • Update API (v4): fullHashes.find
  • Update API (v4): threatListUpdates.fetch
  • 업데이트 요청

    업데이트 API (v4)는 서버 과부하를 방지하고 최적의 보호 기능을 활용하기 위해 클라이언트가 세이프 브라우징 서버에 요청을 보낼 수 있는 빈도에 대한 시간 간격 URL 검사 수행 (fullHashes.find) 로컬 데이터베이스 업데이트 (threatListUpdates.fetch).

    데이터의 초기 요청은 시작됩니다. 후속 요청은 최소 대기 시간 또는 백오프 모드 시간 제한이 확인할 수 있습니다

    최소 대기 시간

    그리고 fullHashes.find 응답threatListUpdates.fetch 응답 클라이언트가 준수해야 하는 minimumWaitDuration 필드가 있습니다.

    응답에 minimumWaitDuration 필드가 설정되지 않은 경우 클라이언트는 원하는 만큼 자주 업데이트하고 가능한 한 많은 threatListUpdates 또는 fullHashes 요청을 전송합니다. 확인할 수 있습니다

    응답에 minimumWaitDuration 필드가 설정된 경우 클라이언트는 다음 작업을 수행할 수 없습니다. 대기 시간보다 더 자주 업데이트됩니다. 예를 들어 fullHashes 응답이 최소 대기 시간이 1시간입니다. 클라이언트는 fullHashes 요청을 전송하면 안 됩니다. 사용자가 해시 접두사가 로컬 데이터베이스입니다. 클라이언트는 최소 대기 시간보다 더 적게 업데이트할 수 있지만 이 작업은 보호에 부정적인 영향을 미칠 수 있습니다.)

    백오프 모드

    자동 백오프는 fullHashes.find 응답threatListUpdates.fetch 응답의 응답입니다.

    실패한 HTTP 응답 (즉, HTTP 프로토콜 이외의 HTTP 상태 코드)을 200 OK)는 백오프 모드로 전환해야 합니다. 백오프 모드에 들어가면 클라이언트는 계산된 시간을 기다려야 합니다. 이 시간이 지난 후에야 서버에 또 다른 요청을 보낼 수 있습니다.

    클라이언트는 다음 수식을 사용하여 백오프 기간을 계산해야 합니다.

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

    N은 클라이언트가 경험한 연속해서 실패한 요청 수입니다. (첫 번째 요청 실패 후 N=1로 시작) RAND는 0과 1 사이의 랜덤 숫자입니다. 업데이트 실패 시마다 선택해야 하는 오류입니다

    클라이언트가 성공적인 HTTP 응답을 받으면 백오프 모드를 종료하고 최소 대기 시간 지정할 수 있습니다.