이 문서는 다음 메서드에 적용됩니다.
업데이트 요청
업데이트 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 응답을 받으면 백오프 모드를 종료하고 최소 대기 시간 지정할 수 있습니다.