SSE

SSE là đường một chiều: máy chủ đẩy xuống, trình duyệt chỉ ngồi nghe. Đơn giản hơn WebSocket rất nhiều, và đủ dùng cho phần lớn việc. Ba chặng.

9 cột mốc · 2 có bài trong app

Bắt đầu
  1. 1Nghe được luồng sự kiện

    Mở một kết nối và nhận được thứ máy chủ đẩy xuống.

  2. 2Không để mất bản tin

    Kết nối đứt rồi nối lại mà người dùng không nhận ra.

    • Tự kết nối lạitự tìm hiểuTrình duyệt tự làm việc này cho bạn — khác hẳn WebSocket, nơi bạn phải tự viết.
    • Last-Event-IDtự tìm hiểuNối lại thì gửi kèm id cuối đã nhận, máy chủ phát tiếp từ đó.
    • Giới hạn số kết nốitự tìm hiểuTrình duyệt chỉ cho mở vài kết nối cùng lúc trên một tên miền — mở nhiều tab là hết chỗ.
  3. 3Chọn cho đúng việc

    Biết khi nào SSE là lựa chọn đúng, khi nào phải đổi.

    • SSE hay WebSockettự tìm hiểuChỉ cần một chiều thì SSE. Cần hai chiều liên tục thì WebSocket. Đừng dùng cái nặng cho việc nhẹ.
    • Streaming câu trả lờitự tìm hiểuChữ hiện dần trong các ứng dụng AI thường chính là SSE.
    • Proxy và buffertự tìm hiểuMột số proxy giữ dữ liệu lại thành khối, làm luồng mất tính tức thời.
Đích

Lộ trình dừng ở đây

Ba chặng trên đủ để làm thông báo, theo dõi tiến trình, hay streaming văn bản. Phần dưới là hướng đi tiếp.

  • WebSocketKhi cần cả chiều ngược lên — có bài riêng trong app.
  • HTTP/2 và số kết nốiGiới hạn vài kết nối một tên miền được nới rất nhiều trên HTTP/2.
  • Web PushĐẩy thông báo tới cả khi người dùng đã đóng tab.