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

Bách khoa toàn thư mở Wikipedia

Một tiện ích mở rộng trình duyệt hay tiện ích mở rộng (tiếng Anh: browser extension, đô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.[1]

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.[2]

Lịch sử[sửa | sửa mã nguồn]

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.[3] 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 ChromeSafari cũng theo chân vào năm sau. Microsoft Edge hộ trợ tiện ích năm 2016.[4]

Tương thích API[sửa | sửa mã nguồn]

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.[5] Tuy mục tiêu đó khó có thể hoàn thành,[6] 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,[7][8] 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.[9] 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,[10]thị phần của nó tiếp tục tăng, đạt 60% năm 2018.[11]

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.[12] 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.[13][14] Sau khi Edge dùng chung API với Chrome, Edge có thể sử dụng tiện ích từ Chrome Web Store.[15]

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 XULXPCOM 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.[16] Thay đổi này có hiệu lực năm 2017.[17][18] Tiện ích Firefox giờ đây phần lớn đã tương thích với bản Chrome.[19]

Đế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.[20] 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.[21]

Hành vi không mong muốn[sửa | sửa mã nguồ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.[22][23] 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.[24][25][26][27]

Đã 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ỏ.[28]

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 đó.[29][30] 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.[31] 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.[32][33][34]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ “What are extensions?”. MDN Web Docs (bằng tiếng Anh). Truy cập ngày 5 tháng 8 năm 2019.
  2. ^ “Breaking Down the Chrome Web Store”. Extension Monitor. Truy cập ngày 7 tháng 8 năm 2019.
  3. ^ “Browser Extensions”. Truy cập ngày 5 tháng 6 năm 2010.
  4. ^ Bright, Peter (ngày 18 tháng 3 năm 2016). “Edge browser now has extensions in the latest Windows 10 preview”. Ars Technica. Condé Nast.
  5. ^ “Browser Extension Community Group Charter — Browser Extension Community Group”. browserext.github.io. Truy cập ngày 14 tháng 12 năm 2018.
  6. ^ “Re: One question from Florian Rivoal on 2017-07-29 (public-browserext@w3.org from July 2017)”. lists.w3.org. Truy cập ngày 14 tháng 12 năm 2018.
  7. ^ “Extensions Status: On the Runway, Getting Ready for Take-Off”. Chromium Blog (bằng tiếng Anh). Truy cập ngày 14 tháng 12 năm 2018.
  8. ^ “Extensions beta launched, with over 300 extensions!”. Chromium Blog (bằng tiếng Anh). Truy cập ngày 14 tháng 12 năm 2018.
  9. ^ Vikas SN (ngày 29 tháng 6 năm 2012). “The Lowdown: Google I/O 2012 Day 2 – 310M Chrome Users, 425M Gmail & More”. MediaNama. Truy cập ngày 14 tháng 6 năm 2013.
  10. ^ “Internet Explorer usage to plummet below 50 percent by mid-2012”. ngày 3 tháng 9 năm 2011. Bản gốc lưu trữ ngày 20 tháng 11 năm 2011. Truy cập ngày 4 tháng 9 năm 2011.
  11. ^ Statcounter. “Browser Market Share Worldwide | StatCounter Global Stats”. gs.statcounter.com (bằng tiếng Anh). Truy cập ngày 20 tháng 10 năm 2018.
  12. ^ “Porting an extension from Chrome to Microsoft Edge”. Microsoft. Truy cập ngày 30 tháng 12 năm 2018.
  13. ^ “Microsoft Edge: Making the web better through more open source collaboration”. Windows Experience Blog (bằng tiếng Anh). ngày 6 tháng 12 năm 2018. Truy cập ngày 14 tháng 12 năm 2018.
  14. ^ Keizer, Gregg (ngày 8 tháng 12 năm 2018). “With move to rebuild Edge atop Google's Chromium, Microsoft raises white flag in browser war”. Computerworld (bằng tiếng Anh). Truy cập ngày 14 tháng 12 năm 2018.
  15. ^ “Add or remove extensions in Microsoft Edge”. Microsoft (bằng tiếng Anh). Truy cập ngày 8 tháng 6 năm 2020.
  16. ^ “The Future of Developing Firefox Add-ons”. Mozilla Add-ons Blog (bằng tiếng Anh). Truy cập ngày 15 tháng 12 năm 2018.
  17. ^ “Upcoming Changes in Compatibility Features”. Mozilla Add-ons Blog (bằng tiếng Anh). Truy cập ngày 15 tháng 12 năm 2018.
  18. ^ “How to enable legacy extensions in Firefox 57 - gHacks Tech News”. www.ghacks.net. Truy cập ngày 14 tháng 12 năm 2018.
  19. ^ “Porting a Google Chrome extension”. Mozilla. Truy cập ngày 30 tháng 12 năm 2018.
  20. ^ “Building a Safari App Extension”. Apple. Truy cập ngày 10 tháng 2 năm 2019.
  21. ^ “macOS Big Sur Preview”. Truy cập ngày 2 tháng 7 năm 2020.
  22. ^ “Protect User Privacy”. Google Chrome Docs. Truy cập ngày 15 tháng 12 năm 2018.
  23. ^ “Add-on Policies”. MDN Web Docs (bằng tiếng Anh). Truy cập ngày 15 tháng 12 năm 2018.
  24. ^ “Security firm ICEBRG uncovers 4 malicious Chrome extensions - gHacks Tech News”. www.ghacks.net. Truy cập ngày 15 tháng 12 năm 2018.
  25. ^ “Google's bad track record of malicious Chrome extensions continues - gHacks Tech News”. www.ghacks.net. Truy cập ngày 15 tháng 12 năm 2018.
  26. ^ “Chrome Extension Devs Use Sneaky Landing Pages after Google Bans Inline Installs”. BleepingComputer (bằng tiếng Anh). Truy cập ngày 15 tháng 12 năm 2018.
  27. ^ “Google Chrome extensions with 500,000 downloads found to be malicious”. Ars Technica. Truy cập ngày 30 tháng 12 năm 2018.
  28. ^ “PUP Criteria”. Malwarebytes. Truy cập ngày 13 tháng 2 năm 2015.
  29. ^ “Adware vendors buy Chrome Extensions to send ad- and malware-filled updates”. Ars Technica. Truy cập ngày 20 tháng 1 năm 2014.
  30. ^ Bruce Schneier (21 tháng 1 năm 2014). “Adware Vendors Buy and Abuse Chrome Extensions”.
  31. ^ Winkler, Rolfe. “Google Removes Two Chrome Extensions Amid Ad Uproar”. blogs.wsj.com. Wall Street Journal. Truy cập ngày 17 tháng 3 năm 2014.
  32. ^ “Ad Injection at Scale: Assessing Deceptive Advertisement Modifications” (PDF). Bản gốc (PDF) lưu trữ ngày 5 tháng 6 năm 2015.
  33. ^ “Superfish injects ads into 5 percent of all Google page views”. PC World. IDG.
  34. ^ “Superfish injects ads in one in 25 Google page views”. CIO. IDG. Bản gốc lưu trữ ngày 11 tháng 12 năm 2019. Truy cập ngày 21 tháng 8 năm 2020.

Liên kết ngoài[sửa | sửa mã nguồn]

Bản mẫu:Web interfaces