如何使我的 Web 应用程序与 SPDY、Jetty 一起工作 [关闭]

Posted

技术标签:

【中文标题】如何使我的 Web 应用程序与 SPDY、Jetty 一起工作 [关闭]【英文标题】:How to make my web application working with SPDY, Jetty [closed] 【发布时间】:2015-05-02 03:19:59 【问题描述】:

我在 eclipse 的一个动态项目中有一个简单的 web 应用程序,它只包含一个 html 页面和一个 http servlet。直到现在我一直使用tomcat。 Tomcat 的 SPDY 支持在其当前形式中不可用,所以我必须将我的应用程序移动到 Jetty。 为了使我的应用程序与 spdy 一起工作,我必须重新编写我的应用程序,或者我只需配置 jetty 以与 spdy 一起工作? 你能帮帮我吗?

更新:我在 .war 文件中有我的 HTTP/1.1 应用程序,我从 my-9.2.x-jetty-distribution/webapps 中的 tomcat/webapps 复制了这个文件,我设置了码头,它按预期工作。为了使这个应用程序与 spdy 一起工作,我必须使用 npn-boot 运行 jvm,然后我必须按照文档描述配置 xml 文件,但没有说明这些 xml 文件必须放在哪里。我的问题在于最后两个步骤。

【问题讨论】:

您知道SPDY is deprecated 支持 HTTP/2,对吧? 我很了解,但是我必须使用spdy。 【参考方案1】:

假设它是针对标准 API 编写的,您无需更改 Web 应用中的任何一行。

为了让它在 Jetty 中工作,您只需要按照Jetty documentation 中的说明进行操作即可。

您至少需要 JDK 7 和 Jetty 9.2.x。

Jetty 项目在 Jetty 9.3.x 中移除了对 SPDY 的支持,转而支持 HTTP/2,但如果您需要使用 SPDY,您可以继续使用 Jetty 9.2.x。

不过,我会考虑直接迁移到 HTTP/2。 Firefox 和即将推出的 Chrome 等浏览器已经默认使用 HTTP/2,因此 SPDY 的寿命将非常短(事实上,它已经被淘汰了)。

【讨论】:

谢谢@sbordet,我今天发现了码头。我整天阅读这个文档,但是我不知道如何使用这些 xml 文件。我也有运行 npn-boot 的问题:“java -Xbootclasspath/p: C:\npn-boot-1.1.8.v20141013.jar”,我下载了与我的 jdk 对应的正确版本。文档很好地描述了 xml 文件,但没有说明放置它们的位置。 @david6630 如果您打算使用 npn 或 alpn,请确保您使用的是 Oracle Java 版本,而不是 OpenJDK。 @joakim Erdfelt 我正在使用 oracle java 版本,jdk 更新 67。 @david6630 请阅读how to start Jetty 部分和deploy your webapp 部分。这应该足以让您入门。

以上是关于如何使我的 Web 应用程序与 SPDY、Jetty 一起工作 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我可以将 SPDY 与 Unicorn 一起使用吗?

将 SPDY 与 Netty 一起使用

如何使我的 Web 应用程序无状态但仍能做一些有用的事情?

HTTP/2 与 WEB 性能优化

使用 Dropwizard 客户端支持 SPDY

HTTP/2 与 Web 性能优化