http可以发送流式响应而不是“范围”响应/请求吗?

时间:2016-10-27 17:34:28

标签: java http stream http-streaming

http服务器能否一点一点地响应数据 - 而不是响应“范围”请求?

例如,假设我想要不断地将文本数据流回客户端 - 这是一个几乎永无止境的文本数据的http流,客户端会根据单个http请求接收该流。

我是否可以在没有客户端向我发送“范围”请求以响应我发送“Accept-Ranges”标头的情况下执行此操作?

我确实看到了code examples of servers streaming data back to clients,但是那些客户希望发送一个范围标题吗?

1 个答案:

答案 0 :(得分:1)

范围请求要求资源的特定字节范围。期望请求在合理的时间内结束是安全的。但是,如果没有在常规请求中关闭/结束连接,则不会阻止您从服务器推送数据。它只是意味着请求将花费很长时间并且可能浪费服务器上的资源。

这有时被称为"长轮询",特别是当连接空闲(但仍然活着)大部分时间时,仅在服务器上发生某些事情时才发送数据。一个例子是基于网络的聊天,虽然现代网页框架比HTTP更适合。