No Storage Real Time Mode

Khi chọn sử dụng Chế độ Duyệt web an toàn của Google phiên bản 5 ở chế độ không lưu trữ theo thời gian thực, ứng dụng không cần duy trì bất kỳ cơ sở dữ liệu cục bộ cố định nào. Tuy nhiên, ứng dụng vẫn phải duy trì bộ nhớ đệm cục bộ. Bộ nhớ đệm cục bộ như vậy không cần phải nằm trong bộ nhớ liên tục và có thể bị xoá trong trường hợp áp lực về bộ nhớ.

Bất cứ khi nào muốn kiểm tra một URL cụ thể, ứng dụng luôn kết nối với máy chủ để thực hiện quy trình kiểm tra. Chế độ này tương tự như chế độ mà các ứng dụng của Lookup API phiên bản 4 có thể triển khai.

So với Chế độ theo thời gian thực, chế độ này có thể sử dụng nhiều băng thông mạng hơn nhưng có thể phù hợp hơn nếu máy khách không tiện duy trì trạng thái cục bộ liên tục.

Quy trình kiểm tra URL theo thời gian thực mà không có cơ sở dữ liệu cục bộ

Quy trình này lấy một URL duy nhất u và trả về SAFE hoặc UNSAFE.

  1. Giả sử expressions là danh sách các biểu thức hậu tố/tiền tố do URL u tạo ra.
  2. Giả sử expressionHashes là một danh sách, trong đó các phần tử là hàm băm SHA256 của từng biểu thức trong expressions.
  3. Giả sử expressionHashPrefixes là một danh sách, trong đó các phần tử là 4 byte đầu tiên của mỗi hàm băm trong expressionHashes.
  4. Đối với mỗi expressionHashPrefix trong số expressionHashPrefixes:
    1. Tìm expressionHashPrefix trong bộ nhớ đệm cục bộ.
    2. Nếu tìm thấy mục trong bộ nhớ đệm:
      1. Xác định xem thời gian hiện tại có lớn hơn thời gian hết hạn hay không.
      2. Nếu lớn hơn:
        1. Xoá mục được lưu vào bộ nhớ đệm đã tìm thấy khỏi bộ nhớ đệm cục bộ.
        2. Tiếp tục vòng lặp.
      3. Nếu không lớn hơn:
        1. Xoá expressionHashPrefix này khỏi expressionHashPrefixes.
        2. Kiểm tra xem hàm băm đầy đủ tương ứng trong expressionHashes có nằm trong mục nhập được lưu vào bộ nhớ đệm hay không.
        3. Nếu tìm thấy, hãy trả về UNSAFE.
        4. Nếu không tìm thấy, hãy tiếp tục vòng lặp.
    3. Nếu không tìm thấy mục trong bộ nhớ đệm, hãy tiếp tục vòng lặp.
  5. Gửi expressionHashPrefixes đến máy chủ Duyệt web an toàn của Google phiên bản 5 bằng cách sử dụng RPC SearchHashes hoặc phương thức REST hashes.search. Nếu xảy ra lỗi (bao gồm cả lỗi mạng, lỗi HTTP, v.v.), hãy trả về SAFE. Nếu không, hãy để phản hồi là response nhận được từ máy chủ SB. Đây là danh sách các hàm băm đầy đủ cùng với một số thông tin phụ trợ xác định bản chất của mối đe doạ (kỹ thuật xã hội, phần mềm độc hại, v.v.), cũng như thời gian hết hạn của bộ nhớ đệm expiration.
  6. Đối với mỗi fullHash trong số response:
    1. Chèn fullHash vào bộ nhớ đệm cục bộ, cùng với expiration.
  7. Đối với mỗi fullHash trong số response:
    1. Giả sử isFound là kết quả của việc tìm fullHash trong expressionHashes.
    2. Nếu isFound là False, hãy tiếp tục vòng lặp.
    3. Nếu isFound là True, hãy trả về UNSAFE.
  8. Trả lại SAFE.

Tương tự như Chế độ thời gian thực, quy trình này không chỉ định chính xác cách gửi tiền tố băm đến máy chủ. Ví dụ: máy khách có thể gửi tất cả expressionHashPrefixes trong một yêu cầu duy nhất, đồng thời máy khách cũng có thể gửi từng tiền tố riêng lẻ trong expressionHashPrefixes đến máy chủ trong các yêu cầu riêng biệt (có thể tiến hành song song). Khách hàng cũng có thể gửi các tiền tố băm không liên quan hoặc được tạo ngẫu nhiên cùng với các tiền tố băm trong expressionHashPrefixes, miễn là số lượng tiền tố băm được gửi trong một yêu cầu duy nhất không vượt quá 30.