1. DNR chuyển quyết định chặn từ “code xử lý từng request” sang “rule cho Chrome thực thi”
Chrome mô tả declarativeNetRequest là API cho phép extension chặn hoặc sửa network request bằng cách chỉ định các rule mang tính khai báo. Mỗi rule thường gồm một condition để xác định request phù hợp và một action như block, allow, redirect hoặc modifyHeaders.
Điểm quan trọng là extension không cần giữ một listener chặn đồng bộ để xem toàn bộ nội dung request rồi tự quyết định từng lần. Chrome có thể đánh giá rule trong engine của trình duyệt. Đây là một phần trong hướng Manifest V3 nhằm cải thiện bảo mật, quyền riêng tư và hiệu năng của nền tảng extension.
Đối với người dùng, điều này giải thích vì sao adblock MV3 thường nói đến “rulesets”, “dynamic rules” và quota thay vì chỉ nói về filter list như trước.
2. Ba loại chính: static, dynamic và session
Static rules được đóng gói cùng extension và được cài/cập nhật khi extension cài mới hoặc nâng cấp. Chúng nằm trong các file JSON và được khai báo trong manifest. Dynamic rules được extension thêm/xóa bằng JavaScript khi chạy và tồn tại qua các phiên trình duyệt cũng như qua việc nâng cấp extension.
Session rules cũng được quản lý bằng JavaScript nhưng chỉ tồn tại trong phiên; Chrome xóa chúng khi trình duyệt tắt và khi cài phiên bản extension mới. Mỗi loại phục vụ một mục đích khác nhau: static cho nền tảng rule ổn định, dynamic cho tùy chỉnh bền, session cho trạng thái tạm thời.
Vì vậy nói “MV3 chỉ cho phép rule tĩnh” là không đúng. DNR có nhiều lớp rule với vòng đời khác nhau.
3. DNR vẫn liên quan đến permissions và host access
Extension cần khai báo quyền phù hợp như declarativeNetRequest hoặc declarativeNetRequestWithHostAccess. Chrome cũng có host permissions để xác định extension được tương tác với những URL nào. Tùy API và action, host access có thể ảnh hưởng khả năng áp dụng rule.
Điều này quan trọng khi chẩn đoán: một adblock có DNR nhưng không được cấp phạm vi site cần thiết vẫn có thể không hoạt động như mong đợi trên một host. Người dùng có thể thay đổi site access trong Chrome, vì thế hiệu quả không chỉ phụ thuộc “bộ rule mạnh hay yếu”.
Permission warning mô tả năng lực mà extension được cấp, không tự chứng minh extension đang thu thập dữ liệu. Mức độ an toàn còn phải đánh giá thêm qua privacy policy, publisher và cách extension xử lý dữ liệu.
4. Rule limits có thật, nhưng không nên hiểu thành một con số duy nhất
Chrome đặt giới hạn cho số rulesets và rule tùy loại. Tài liệu DNR hiện nêu static rulesets, dynamic rules và session rules có quota khác nhau; các phiên bản Chrome mới cũng đã thay đổi một số giới hạn theo thời gian.
Do đó một bài viết cũ nói “MV3 chỉ cho 30.000 rule” có thể thiếu ngữ cảnh hoặc lỗi thời. Khi đánh giá một blocker, nên nhìn cách công cụ tổ chức static rulesets, sử dụng safe dynamic rules, tối ưu filter và cập nhật theo phiên bản Chrome.
Người dùng cuối không cần thuộc lòng quota. Điều cần hiểu là DNR là một hợp đồng API: extension phải thiết kế trong các giới hạn do Chrome quy định.
5. DNR có ý nghĩa gì khi chọn adblock trên Chrome?
Hai blocker cùng dùng DNR vẫn có thể khác nhau đáng kể. Khác biệt nằm ở bộ lọc, cách biên dịch filter thành rule, logic cho phép/ngoại lệ, tốc độ cập nhật, UI, quyền và cách xử lý những phần không phải network request.
DNR cũng không đảm bảo một blocker luôn hoạt động với YouTube. Nền tảng có thể thay đổi cách phân phối hoặc render quảng cáo; extension cần thích nghi trong phạm vi API hiện hành.
Cài SENSEL Adblock và kiểm tra trên chính máy của bạn
SENSEL là tiện ích chặn quảng cáo cho Google Chrome Desktop, tập trung giảm quảng cáo gây gián đoạn khi xem YouTube. Cài miễn phí từ Chrome Web Store chính thức, sau đó kết nối tài khoản để dùng thử 7 ngày nếu đủ điều kiện. Không cần thanh toán trước và không tự động gia hạn.
Nguồn chính thức và tài liệu tham khảo
Bài được đối chiếu với tài liệu chính thức tại thời điểm cập nhật 07/09/2026. Chrome, YouTube, Windows, macOS và chính sách quảng cáo có thể thay đổi; khi áp dụng hãy ưu tiên tài liệu hiện hành.
Câu hỏi thường gặp
declarativeNetRequest có phải chỉ dùng rule tĩnh không?
Không. DNR có static, dynamic và session rules với vòng đời khác nhau.
Dynamic rules có mất khi cập nhật extension không?
Theo tài liệu Chrome, dynamic rules tồn tại qua browser sessions và extension upgrades; session rules thì bị xóa khi browser tắt hoặc cài phiên bản mới.
DNR có đảm bảo chặn được mọi quảng cáo YouTube không?
Không. DNR là API thực thi rule; hiệu quả còn phụ thuộc rule, quyền, cách nền tảng hoạt động và thay đổi theo thời gian.

