Java'da HTTP/2, tercihen TLS/https için çalışan sunucu soketlerini almak istiyorum.Java HTTP/2 Sunucu Soketi
İyi çalışan bir TLS sunucu soketim var, ancak tarayıcılar yalnızca HTTP/1.1 ile konuşacaktır. Doğru bir şekilde anlarsam, TLS soketinize bağlanmak için HTTP/2 tarayıcısı almak ve HTTP/2'yi çalıştırmaya başlamak için ALPN'ye ihtiyacınız vardır; tarayıcılar https'deki HTTP/2'ye yükseltme istemez. Java8 şu ana kadar ALPN yapmıyor gibi görünüyor. Belki de tarayıcıları HTTP/2, en azından TLS olmayan yapmak için zorlamak için başka bir yol var.
Peki, HTTP/2 için Java sunucu soketi nasıl yapıldığını bilen var mı?
Neden Jetty, Netty ve Undertow gibi mevcut uygulamaları denetlemiyorsunuz? Bkz. [Http2 uygulamaları] (https://github.com/http2/http2-spec/wiki/Implementations) –
@DonghwanKim Evet, ikisine baktım. ISTR bunlardan birinin, bazı 'SSLExtension', IIRC aracılığıyla Java SSL soketlerine ALPN eklediğini. Bu, ALPN'yi Java için almanın bir yolu olabilir ve böylece 'h2' HTTP/2 ile tarayıcıya bağlanabilecektir. Çok fazla iş olabilir, bilmiyorum. Java’nın bazı güncellemelerde ALPN’ye ulaşmasını bekleyebilirim. –
Java, 2016 veya 2017 sonları için geçerli olan en az JDK 9'a kadar ALPN alamaz. Bu arada, [Jetty] (http://eclipse.org/jetty) 'nin [ALPN uygulaması]' nı kullanabilirsiniz (http: //www.eclipse.org/jetty/documentation/current/alpn-chapter.html), ya da daha iyisi, ServerSocket kullanarak kendi HTTP/2 uygulamanızı yapmak yerine, Jetty'i (ya da önerilen diğer sunucuları) doğrudan kullanın. – sbordet