htmx'in Server Sent Events (SSE) uzantısı, doğrudan HTML üzerinden bir EventSource'a bağlanarak web sunucunuzla olan bağlantıları yönetir, sunucu olaylarını dinler ve içeriklerini htmx sayfanıza gerçek zamanlı olarak aktarır. Bu uzantı, WebSockets'a hafif bir alternatif sunar ve mevcut HTTP bağlantıları üzerinden çalıştığı için proxy sunucuları ve güvenlik duvarları aracılığıyla kolayca kullanılabilir. Ancak, SSE'nin tek yönlü bir servis olduğunu unutmamak önemlidir; yani bağlantı kurulduktan sonra SSE sunucusuna herhangi bir mesaj gönderemezsiniz. Çift yönlü iletişime ihtiyacınız varsa, WebSockets kullanmayı düşünmelisiniz.
Bu uzantı, htmx'in önceki sürümlerinde yer alan deneysel hx-sse niteliğinin yerini almıştır. SSE bağlantılarının nasıl davranacağını yapılandırmak için sse-connect="<url>" (SSE sunucusunun URL'si), sse-swap="<message-name>" (DOM'a aktarılacak mesajın adı), hx-trigger="sse:<message-name>" (HTTP geri çağrılarını tetiklemek için) ve sse-close="<message-name>" (belirli bir mesaj alındığında EventStream'i kapatmak için) gibi nitelikler kullanılır.
SSE uzantısını kurmanın en hızlı yolu bir CDN üzerinden yüklemektir; ancak her zaman önce htmx çekirdek kütüphanesini dahil etmeyi ve uzantıyı etkinleştirmeyi unutmayın. Alternatif olarak, uzantıyı projenize kopyalayabilir veya npm (npm install htmx-ext-sse) aracılığıyla kurup bir bundler (örneğin Webpack veya Rollup) ile projenize dahil edebilirsiniz. Kurulumdan sonra, hx-ext="sse" niteliğini kullanarak ve sse-connect ile sse-swap niteliklerini belirterek bir SSE sunucusuna bağlanabilirsiniz.
htmx geliştiricilerine, karmaşık WebSocket altyapısına ihtiyaç duymadan, mevcut HTTP bağlantıları üzerinden kolayca gerçek zamanlı güncellemeler sunma imkanı sağlar.