这篇文章主要介绍了Java9对HTTP2协议支持与非阻塞HTTPAPI实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java9对HTTP2协议支持与非阻塞HTTPAPI实例分析文章都会有所收获,下面我们一起免费云主机域名来看看吧。HTTP/2 旨在减轻 HTTP/1.1 维护复杂基础结构所造成的痛苦,性能良好。尽管 HTTP/2 仍然与 HTTP/1.1 向后兼容,但它不再是基于文本的协议。HTTP/2 多路复用使单个连接可以处理多个双向流,允许客户端通过单个连接同时下载多个资源。HTTP 1.x 协议是基于文本的,因此报文很冗长。有的时候,同一组 HTTP Headers被一遍又一遍地交换。HTTP/2 通过跨请求维护 HTTP Headers,消除重复交换的数据,大大减少了数据交互所需的带宽。您可能认为HTTP/2的服务端数据推送是对 WebSockets 的某种延续或升级,但情况并非如此。虽然 WebSockets 是客户端和服务器之间全双工通信的一种方法,以便服务器在建立 TCP 连接后将数据发送到客户端,但 HTTP/2 提供了一种不同的解决方案。HTTP/2 推送是主动向客户端发送资源,而无需从客户端的角度发起资源请求。这意味着服务器端根据一个请求可能知道网站进一步需要的其他资源,并且早在客户端再次发起请求它们之前,就可以一并(提前)发送所有资源。JettyNettyOkHttpVert.xFirefly但是在这篇文章中,我们不会介绍这些Java 客户端软件,而是介绍Java9提供的HTTP/2支持。首先使用Java 9的语法进行模块的导入 。jdk.incubator.httpclient
Java 9 新的 HTTP Cient API 遵循构建器模式。HttpClient是用来操作HTTP请求的入口点,先构建后使用。一旦我们有了一个 HttpClient实例,就可以用它来发送HttpRequest,HttpRequest实例也可以使用构造器创建。请求发出去之后,线程会一直阻塞直到得到响应数据,这个和JAVA 8及之前的HTTP API是一样的。但是Java 9提供了以异步非阻塞发送处理请求的方法,更适合高并发的HTTP请求与处理。在下面的示例中,10 个随机整数以异步方式发送请求。上面的例子大量的使用了Java 8的Stream流式处理的API,如果不熟悉的同学,可以翻看我以前写的一些文章。sendAsync方法的返回值CompletableFuture
今天小编给大家分享一下SpringBoot中如何使用监听器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。web监听器是一张Servlet中特殊的…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。