Chunked Transfer编码通常用于发件人开始传输数据时内容长度未知的情况.接收器可以处理每个块,而服务器仍在生成新的块.这意味着服务器正在发送整个时间.我不认为发送I'm still working|I'm still working|I'm still working|块有太大意义,据我所知,大多数应用服务器透明地处理分块传输编码.当响应大于特定大小时,它们会自动切换.
用例的常见模式如下所示:
客户端触发批量操作:
POST /batch-jobs HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
服务器创建描述作业状态的资源,并在Location头中返回URI:
HTTP/1.1 202 Accepted
Location: /batch-jobs/stats/4711
Run Code Online (Sandbox Code Playgroud)
客户端检查此资源并收到200:
GET /batch-jobs/stats/4711 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
此示例使用JSON,但您也可以返回纯文本或添加缓存标头,告诉客户端他应该等待下一轮询的时间.
HTTP/1.1 200 OK
Content-Type: application/json
{ "status" : "running", "nextAttempt" : "3000ms" }
Run Code Online (Sandbox Code Playgroud)
如果作业完成,服务器应回答303和他创建的资源的URI:
HTTP/1.1 303 See other
Location: /batch-jobs/4711
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5698 次 |
| 最近记录: |