Tiện ích mở rộng trình duyệt

Một **tiện ích mở rộng trình duyệt** hay **tiện ích mở rộng** (, đôi khi chỉ là *extension*) là một phần mềm nhỏ dùng để tùy biến một trình duyệt web. Trình duyệt thường có nhiều loại tiện ích khác nhau với chức năng đa dạng, bao gồm chỉnh sử giao diện người dùng, chặn quảng cáo, và quản lý cookie.

Plugin trình duyệt là một loại phần mềm khác. Điểm khác biệt chính đó là tiện ích thường chỉ là mã nguồn, còn plugin thì luôn là thực thi được (tức mã đối tượng). Tính đến 2020, các plugin phần lớn đã bị loại bỏ bởi hầu hết trình duyệt, còn tiện ích thì vẫn được sử dụng rộng rãi. Trình duyệt phổ biến nhất, Google Chrome, có hàng chục ngàn tiện ích nhưng chỉ một plugin là Adobe Flash Player, vốn bị vô hiệu theo mặc định that is disabled by default.

## Lịch sử
Internet Explorer là trình duyệt lớn đầu tiên hỗ trợ tiện ích, với sự phát hành của phiên bản 5 năm 1999. Firefox hỗ trợ tiện ích ngay từ khi ra đời năm 2004. Opera bắt đầu hỗ trợ tiện ích từ năm 2009, còn Google Chrome và Safari cũng theo chân vào năm sau. Microsoft Edge hộ trợ tiện ích năm 2016.

### Tương thích API
Năm 2015, một nhóm người hoạt động dưới W3C tạo nên một giao diện lập trình ứng dụng (API) chuẩn duy nhất cho tiện ích trình duyệt. Tuy mục tiêu đó khó có thể hoàn thành, phần lớn trình duyệt đã dùng cùng một API hoặc tương tự do sự phổ biến của Google Chrome.

Chrome là trình duyệt đầu tiên với API tiện ích chỉ dựa trên HTML, CSS, và JavaScript. Thử nghiệm beta cho khả năng này bắt đầu từ năm 2009, và năm sau Google cho ra đời Chrome Web Store. Tính đến tháng 6 năm 2012, có 750 triệu lượt cài đặt tiện ích và những nội dung khác có trên cửa hàng. Cũng trong năm 2012, Chrome vượt qua Internet Explorer để trở thành trình duyệt phổ biến nhất thế giới, và thị phần của nó tiếp tục tăng, đạt 60% năm 2018.

Trước sự thành công của Chrome, Microsoft tạo ra một API tiện ích tương tư cho trình duyệt Edge của họ, với mục đích giúp nhà lập trình tiện ích Chrome dễ dàng chuyển tiện ích của mình sang Edge. Tuy nhiên sau ba năm Edge vẫn không có nhiều thị phần, khiến Microsoft quyết định viết lại nó thành một trình duyệt nhân Chromium. Sau khi Edge dùng chung API với Chrome, Edge có thể sử dụng tiện ích từ Chrome Web Store.

Với thị phần giảm dần, Mozilla cũng quyết định đi theo con đường này. Năm 2015, công ty thông báo rằng tính năng tiện ích XUL và XPCOM từ lâu của Firefox sẽ bị thay thế bởi một API chặt hơn tương tự với của Chrome. Thay đổi này có hiệu lực năm 2017. Tiện ích Firefox giờ đây phần lớn đã tương thích với bản Chrome.

Đến 2020, Apple là người duy nhất nằm ngoài xu hướng này, khi mà API của họ cho trình duyệt Safari yêu cầu Xcode để phát triển. Tuy nhiên, năm 2020 Apple thông báo rằng Safari 14 sẽ tuân theo API của Chrome trong bản cập nhật macOS 11.

## Hành vi không mong muốn
Tiện ích trình duyệt thường có quyền tiếp cận dữ liệu nhạy cảm, như là lịch sử duyệt web, và có khả năng thay đổi một số cài đặt trình duyệt, tùy biến giao diện người dùng, hoặc thay đổi nội dung trang web. Do đó, đã có những trường hợp malware giả làm tiện ích, vì thế người dùng cần cẩn trọng khi cài đặt tiện ích.

Đã có trường hợp ứng dụng tự cài đặt tiện ích mà không có sự cho phép của người dùng, đồng thời làm tiện ích rất khó xóa bỏ.

Một số nhà lập trình tiện ích cho Google Chrome đã bán tiện ích của mình cho bên thứ ba, để họ chèn phần mềm quảng cáo vào tiện ích đó. Năm 2014, Google gỡ hai tiện ích như thế khỏi Cửa hàng Chrome trực tuyến sau khi nhiều người dùng phàn nàn về lượng quảng cáo không mong muốn. Năm 2015, Google thừa nhận khoảng năm phần trăm lượng truy cập các trang web của công ty này bị thay đổi bởi các tiện ích với phần mềm quảng cáo.

## Tham khảo

## Liên kết ngoài
* Tài liệu API tiện ích từ Google, Apple, Mozilla, Microsoft, Opera
* Cửa hàng tiện ích chính thức của Chrome, Safari, Firefox, Edge, Opera