servlet api是java ee platform最常用的api之一,随java ee7一起发布的servlet 3.1为我们带来了许多新特性,如增加了对http 1.1协议升级机制(upgrade mechanism)的支持(用于支持websocket),非阻塞的异步io以及与安全相关的改进。shing wai chan(servlet 3.1 规范的领头人)刚刚发布了servlet 4.0 jsr草案提议。
从3.1到4.0将是对servlet 协议的一次大改动,而改动的关键之处在于对http/2的支持。http2将是是继上世纪末http1.1协议规范化以来首个http协议新版本,相对于http1.1,http2将带来许多的增强。在草案提议中,shing wai列举出了一些http2的新特性,而这些特性也正是他希望在servlet 4.0 api中实现并暴露给用户的新功能,这些新特性如下:
1.请求/响应复用(request/response multiplexing)
2.流的优先级(stream prioritization)
3.服务器推送(server push)
4.http1.1升级(upgrade from http 1.1)
http1.1是一个相对简单的请求/响应协议,但是http2协议的多路复功能用将改变我们现有的某些基础架构,并且也将导致更多的事务随之改变、发展。要对servlet api做出如此大的改动并不是一项轻松愉快的任务,因此ed burns将辅助shing wai共同负责jsr相关的工作。
虽说http/2协议是servlet 4.0的核心,但也不排除专家组们向其中添加额外的特性。
从时间上来看,我们期望servlet 4.0同java ee8一起发布,但这归根结底还是要取决于http/2的进度。http/2目前正处于开发中,并预计在java ee8完成前完成。
点击查看 servlet 4.0 草案提议,在草案提交到jcp前,你可以提出你的意见。你可以在twitter上关注 @servlet_spec以获取最新进展,也可以加入servlet spec用户邮件列表进行交流。