我们正在Java中的Spring框架上构建一个框架。我们希望能够添加对HTTP Chunked Responses的支持。 Spring有这个API吗?
我们试图实现的基本上是在准备好其余响应之前发送HTML <head>
部分。这样客户端就可以开始下载样式表/ js等了。
如果有办法查看客户端是否支持HTTP Chunked Responses会更好。
答案 0 :(得分:1)
RFC2616指定TE: trailers
标头,它是客户端接受分块传输的显式语句,但我从未见过浏览器或设备实际发送此信息。发送HTTP / 1.1请求的任何设备都应接受分块传输。
根据我的经验,只要您没有指定内容长度,Spring就会自动执行分块传输。我的经验主要是使用Spring控制器,所以YMMV使用JSP。
答案 1 :(得分:0)
HTTP是第7层(/ OSI模型)/ 5层(TCP / IP模型)协议。并且给定的应用程序框架在其上或之上运行。
因此,给定的HTTP(get / POST)/ pipelined请求实质上是使用客户端框架打开的TCP管道。
在服务器端,通常您可以处理流水线请求(在一个TCP管道中有多个get / post请求)。
根据您的要求,您希望将给定的请求拆分为2个子请求,可能是通过建立新的TCP管道来承载请求的前半部分和后半部分。
现在的挑战是,即使您的客户端实现了这一点,服务器端也应该接受这样的拆分请求。通常,服务器端会丢弃格式错误的HTTP请求。
答案 2 :(得分:0)
尝试使用Apache Tiles作为布局管理器。您可以在页面的不同图块上设置flush属性,据我所知,刷新图块会刷新响应。
顺便问一下,你不使用压缩机制,例如容器前面的Apache httpd甚至gzip servlet过滤器?如果是这种情况,Apache Tiles将无法帮助您,您最好忘记自己的需求。