2

我们正在 Java 中的 Spring 框架之上构建一个框架。我们希望能够添加对 HTTP 块响应的支持。spring 有这方面的 API 吗?

我们试图实现的基本上<head>是在准备好其余响应之前发送 HTML 部分。这样客户端就可以开始下载样式表/js等。

如果有办法查看客户端是否支持 HTTP 分块响应会更好。

4

3 回答 3

1

RFC2616指定了一个TE: trailers标头,该标头是客户端接受分块传输的明确声明,但我从未见过浏览器或设备实际发送此消息。任何发送 HTTP/1.1 请求的设备都应该接受分块传输。

根据我的经验,只要您不指定内容长度,Spring 就会自动执行分块传输。我的经验主要是使用 Spring 控制器,因此使用 JSP 的 YMMV。

于 2012-01-25T13:44:25.560 回答
0

HTTP 是第 7 层(/OSI 模型)/5 层(TCP/IP 模型)协议。一个给定的应用程序框架运行在它之上或之上。

因此,给定的 HTTP (get/POST) / 流水线请求本质上是使用框架在客户端打开的 TCP 管道。

在服务器端,通常您可以处理流水线请求(一个 TCP 管道中的多个 get/post 请求)。

在您的要求中,您可能希望通过建立一个新的 TCP 管道来承载请求的前半部分和后半部分,将给定的请求拆分为 2 个子请求。

现在这里的挑战是,即使您的客户端实现了这一点,服务器端也应该接受这样的拆分请求。通常,服务器端会丢弃格式错误的 HTTP 请求。

于 2012-01-20T18:40:17.470 回答
0

尝试使用 Apache Tiles 作为布局管理器。您可以在页面的不同磁贴上设置刷新属性,据我所知,刷新磁贴会刷新响应。

顺便说一句,您不使用压缩机制,例如容器前面的 Apache httpd 甚至 gzip servlet 过滤器吗?如果是这种情况,Apache Tiles 将无法帮助您,您最好忘记您的需求。

于 2012-01-21T22:54:43.817 回答