关于Content-Length

1.当客户端请求时是Connection: keep-alive的时候,服务器返回的形式Transfer-Encoding: chunked的形式,以确保页面数据是否结束,长连接就是这种方式,用chunked形式就不能用content-length
参考:
设置响应消息的实体内容的大小,单位为字节。对于HTTP协议来说,这个方法就是设置 Content-Length响应头字段的值。因为当浏览器与WEB服务器之间使用持久(keep-alive)的HTTP连接,如果WEB服务器没有采用chunked传输编码方式,那么它必须在每一个应答中发送一个 Content-Length的响应头来表示各个实体内容的长度,以便客户端能够分辨出上一个响应内容的结束位置。一般来说,Servlet程序不必调用 setContentLength方法来设置Content-Length头字段,因为Servlet引擎在向客户端实际输出响应内容时,它可以自动设置 Content-Length头字段或采用chunked传输编码方式。
http://hi.baidu.com/zkheartboy/blog/item/9216a0fd05591e1508244d74.html

2.当不是keep-alive,就是常用短连接形式,会直接把连接关掉,不需要长度

3. 服务器上取得是动态内容,所有没有content-length这项,如果是静态页面,则有

你可能感兴趣的:(HTML)