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使用者郵件清單進行交流。