Bạn Tìm Gì Hôm Nay ...?
Tất cả đều có chỉ trong 1 nốt nhạc !
Nếu cần hỗ trợ chi tiết gọi 1900 9477
Service worker là gì ?Với các website trước đây yêu cầu đòi hỏi để chúng hoạt động là luôn phải có mạng, mỗi khi vào website thì cần phaỉ load lại trang toàn bộ trang rất lâu, và các notifications chỉ đến được với người dùng khi họ vẫn còn mới website, khi họ đã rời đi thì không còn cách nào khác để thông báo. Đây là những điểm yếu của công nghệ web trước kia cũng là những điểm mạnh của các native apps. Tuy nhiên giờ đây với các tiêu chuẩn mới PWA (tạm gọi là công nghệ web tiên tiến) đã có thể đưa các điểm yếu trên trở thành hiện thực lên các website. Và một trong những thành phần làm nên điều đó là service worker (sw).
Service worker là một tệp chương trình viết bằng javascript được browser chạy ngầm và tách biệt khỏi trang web, nó mở ra cánh của cho các tính năng không yêu cầu giao diện hoặc tương tác với người dùng ví dụ: đồng bộ ngầm và push notifications… Tương lại service worker có thể hỗ trợ định vị địa lý hoặc đồng bộ định kỳ. Service worker có khả năng bắt và xử lý các request trên mạng và có thể quản lý việc cache các response trả về. Do đó nó hỗ trợ chạy website cả khi không có mạng, push notifications, và load nhanh.
Nói tóm lại service worker có các điểm sau:
Một sw có vòng đời tách biệt khỏi trang web.
Để cài đặt sw của một trang web, ta cần đăng ký nó bằng javascript của trang web. khi đăng ký sw browser sẽ bắt đầu quá trình đăng ký sw ngầm. Trong bước cài đặt sw nếu muốn ta có thể cache các assets tĩnh, khi việc cache này được hoàn thành nghĩa là sw đã được cài đặt. Nếu các tệp không được cache thành công hoặc không được tải thành công thì sw worker sẽ không cài đặt được và sẽ không active. Sau khi cài đặt thành công sw sẽ bước qua giai đoạn active.
Ở giai đoạn active ta có thể tiến hành các thao tác xử lý các cache cũ.
Sau giai đoạn active sw sẽ tiến hành điều khiển web page trong phạm vi của nó. Một khi sw nắm được quyền điều khiển nó sẽ có 2 trạng thái: hoặc sw sẽ kết thúc luôn để tiết kiệm bộ nhớ hoặc nó sẽ xử lý việc tìm và hiển thị các event khi các request mạng hoặc notification diễn ra.
Dưới đây là ảnh về vòng đời của sw:
Hầu hết các browser hiện đại hiện nay đều đã bắt đầu hỗ trợ sw như: Chrome, FireFox, Opera, Ms Edge…
Https là yêu cầu đối với các website khi muốn sử dụng sw. Vì khi sử dụng sw ta có thế cướp các connection, làm giả và thay đổi các response do đó sử dụng https cho sw đảm bảo sự an toàn của các request trên môi trường mạng.
Để tiến hành đăng ký và cài đặt sw ta tiến hành quá trình đăng ký sw bằng javascript ở trang web. Điều này thông báo cho browser nơi ta đạt file service worker.
Đoạn code trên kiểm tra sự hỗ trợ của browser với sw, nếu có hỗ trợ sẽ đăng ký file sw một khi page được load.
Ta có thể gọi phương thức register() mà không cần quan tâm sw đã được cài đặt hay chưa, browser sẽ biết sw đã được cài đặt hay chưa chạy hoặc không chạy tiếp phương thức trên.
Khi đăng ký sw ta cần chú đến phạm vi của nó. Nó sẽ có phạm vi tự nơi mà nó được đặt vì vậy với đoạn code trên nó sẽ có phạm vi là toàn bộ domain của website.
Thông thường sau quá trình đăng ký ta đã có thể sử dụng sw nhưng các tính năng như cache, push notification sẽ chưa hoạt động được. Ta cần cài đặt sw trước. Để tiến hành cài đặt thêm cho sw ta sẽ xỷ lý event install của nó.
Trong callback của install event ta có thể:
Sau khi đã cài đặt sw và user sử dụng điều hướng hoặc refresh lại trang thì sw sẽ bắt đầu nhận các fetch event. Sau đó sẽ xử lý chúng.
Ở trên ta định nghĩa một event fetch và với event.respondWith(), ta truyền vào một promises của caches.match(). Phương thức này sẽ request nhìn vào request và tìm bất kỳ kết quả nào trùng khớp mà sw đã cached từ trước. Nếu có kết quả trùng khớp ta sẽ trả về giá trị, nếu không ta sẽ trả về kết quả của việc gọi phương thức fetch bằng việc tạo một request và trả về dữ liệu lấy được từu request đó trả về.
Khi cần update sw ta cần làm theo các bước sau:
Khi update sw một trong những việc cần xử lý là quản lý lại việc cache, xóa bỏ cache cũ và tạo ra cache mới cho sw. Qua trình này diễn ra ở event activate của sw mới.
=============
P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/
Đọc thêm các bài viết khác tại link
=============================================