service worker (เซอร์วิส เวิร์คเกอร์) คืออะไร
Services Worker (เซอร์วิส เวิร์คเกอร์) คือ JavaScript (จาวาสคริปต์) นั้นเองครับ มันจะทำงานบนเว็บเบราเซอร์ ซึ่งจะทำงานอยู่เบื้องหลังแยกออกจากตัวเว็บของเรา โดยตัว Service Worker นิยมใช้ทำ Offline mode (ออฟฟิต โหมด) ที่เราพบเห็นจากเว็บส่วนใหญ่ของ Google (กูเกิล) รวมถึงการเพื่อทำ Web Push Notification (เว็บ พุช ทิฟิเคชั่น) และจะมีความสามารถอื่นๆ เพิ่มเข้ามาในอนาคตครับ
อีกหนึ่งความสามารถของ Service Worker นั้นก็คือ การดัก Network Request (เน็ตเวิร์ก รีเควส) ของเว็บ เช่น HTTP Request (เอช ที ที พี รีเควส), โหลดรูป หรือ API Call (เอ พี ไอ คอล) โดยทุก Request (รีเควส) ที่ออกจากเว็บเราจะผ่าน Service worker ทั้งหมดทำให้เราสามารถจัดการ Network Request ได้ดีขึ้น เช่น การคืนค่าจาก Cache (แค็ฌ) แทนที่จะส่ง Request นั้นออกไปจริงๆ หรือในกรณีที่ไม่สามารถเชื่อมต่ออินเตอร์เน็ตได้
ในส่วนนี้ผมจะพูดไปถึง Web Worker ช่วยให้ชุดคำสั่ง JavaScript ทำงานในรูปแบบ Backgrounds Mode ทำให้ผู้ใช้งานสามารถใช้งานฟังก์ชันงานอื่นๆ บนหน้าเว็บเพจได้ โดยไม่ต้องรอให้ JavaScript ทำงานเสร็จก่อน โดย Web Worker จะสั่งให้ JavaScript ทำงานโดยไม่กระทบกับงานอื่นๆ
Reference : html5rocks.com/en/tutorials/service-worker/introduction/
ภาพประกอบ : w3ctech.com