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.
- Giả sử
expressionslà danh sách các biểu thức hậu tố/tiền tố do URLutạo ra. - Giả sử
expressionHasheslà 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 trongexpressions. - Giả sử
expressionHashPrefixeslà 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 trongexpressionHashes. - Đối với mỗi
expressionHashPrefixtrong sốexpressionHashPrefixes:- Tìm
expressionHashPrefixtrong bộ nhớ đệm cục bộ. - Nếu tìm thấy mục trong bộ nhớ đệm:
- 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.
- Nếu lớn hơn:
- Xoá mục được lưu vào bộ nhớ đệm đã tìm thấy khỏi bộ nhớ đệm cục bộ.
- Tiếp tục vòng lặp.
- Nếu không lớn hơn:
- Xoá
expressionHashPrefixnày khỏiexpressionHashPrefixes. - Kiểm tra xem hàm băm đầy đủ tương ứng trong
expressionHashescó nằm trong mục nhập được lưu vào bộ nhớ đệm hay không. - Nếu tìm thấy, hãy trả về
UNSAFE. - Nếu không tìm thấy, hãy tiếp tục vòng lặp.
- Xoá
- Nếu không tìm thấy mục trong bộ nhớ đệm, hãy tiếp tục vòng lặp.
- Tìm
- 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àresponsenhậ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ớ đệmexpiration. - Đối với mỗi
fullHashtrong sốresponse:- Chèn
fullHashvào bộ nhớ đệm cục bộ, cùng vớiexpiration.
- Chèn
- Đối với mỗi
fullHashtrong sốresponse:- Giả sử
isFoundlà kết quả của việc tìmfullHashtrongexpressionHashes. - Nếu
isFoundlà False, hãy tiếp tục vòng lặp. - Nếu
isFoundlà True, hãy trả vềUNSAFE.
- Giả sử
- 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.