2017-04-16 112 views
0

从这个wikipedia example 一个典型的HTTP响应可能看起来像这样HTTP如何指定传输编码响应的结束:分块?

HTTP/1.1 200 OK 
Date: Mon, 23 May 2005 22:38:34 GMT 
Content-Type: text/html; charset=UTF-8 
Content-Encoding: UTF-8 
Content-Length: 138 
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT 
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) 
ETag: "3f80f-1b6-3e1cb03b" 
Accept-Ranges: bytes 
Connection: close 

<html> 
<head> 
    <title>An Example Page</title> 
</head> 
<body> 
    Hello World, this is a very simple HTML document. 
</body> 
</html> 

在这种情况下,因为这个头的:

Connection: close 

的客户都知道,HTTP主体已经完成,是因为TCP连接将关闭,例如说Connection: close不存在,客户端仍然知道HTTP正文已完成,因为此标头为:

Content-Length: 138 

是说,一旦你得到138字节,我们就完成了。但是在这些标题都没有被使用的情况下,服务器发送Transfer-encoding: chunked如何知道响应已经完成,以便它可以移动到其他东西?

回答

1

Wikipedia

分块在传送编码关键字用于 指示分块传输。每个块都在其大小之前。 传输在遇到零长度块时结束。

+0

哇,你钉了它:)如果我能我接受这个(Stackoverflow施加时间限制) –