16

Từ tài liệu tôi có thể tìm ra rằng Push APIServer Sent Events cả hai đều song công nhưng tại sao hai công nghệ khác nhau cho cùng một chức năng? Có điều gì quan trọng hơn trong API đẩy không?Sự khác biệt giữa Push API và Sự kiện máy chủ được gửi là gì?

+4

Tôi cũng bối rối nhưng chỉ tìm thấy nhóm push-api đề cập đến Sự kiện được máy chủ gửi. https://github.com/w3c/push-api/issues/104#issuecomment-69745798 –

Trả lời

9

API đẩy cho phép máy chủ gửi thông báo cho khách hàng ngay cả khi trang web của bạn không mở, vì trang web đó phụ thuộc vào nhân viên dịch vụ.

SSE (hoặc WebSockets) hoạt động miễn là người dùng đang sử dụng trang web của bạn.

Có một số ví dụ (có tài liệu) trong phần Web Push của ServiceWorker Cookbook có thể giúp bạn hiểu điều này tốt hơn.

5

Bạn sử dụng Sự kiện đã gửi trên máy chủ để kết nối trực tiếp với trang web của bạn, điều này khá dễ dàng.

công nghệ Web Đẩy là phức tạp hơn nhiều, trình duyệt của người dùng duy trì một kết nối đến máy chủ đẩy các nhà cung cấp trình duyệt, mà thu thập và cung cấp tất cả push từ các trang web (nhiều thành chúng). Vì thư đi qua máy chủ của bên thứ ba, chúng phải được mã hóa. Để sử dụng Push API, bạn (ở phía máy khách) nhận được URL điểm cuối của nhà cung cấp cụ thể cho trình duyệt, tạo khóa mã hóa công khai và gửi nó trở lại máy chủ của bạn để sử dụng. Sau đó trên máy chủ của bạn khi bạn muốn đẩy, bạn mã hóa tin nhắn bằng cách sử dụng phím và đẩy nó đến điểm cuối.

General info on Web Push

Firefox duy trì một kết nối hoạt động đến một dịch vụ push để nhận tin nhắn push miễn là nó đang mở.

Đây là lợi thế chính của Web Push - bạn có thể gửi thông báo ngay khi người dùng mở trình duyệt, anh ấy sẽ không phải truy cập trang web của bạn. Điểm bất lợi là bạn sẽ cần phải có sự cho phép từ người dùng cho thuê bao này. Một bất lợi khác là nó đang được phổ biến rộng rãi hiện tại supported.

Technical info on Push API

Các vấn đề liên quan