0

有一个对 IceCast 2.3.2-kh29 服务器 MP3 流 http:// * :*/ .mp3的 HTTP 请求和响应(一些数据是 * *ed):

    GET /*.mp3 HTTP/1.1
Host: ***:*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive

HTTP/1.0 200 OK
Content-Type: audio/mpeg
icy-br: 192
ice-audio-info: bitrate=192;samplerate=44100;channels=2
icy-description: MP3 192 Kbps
icy-genre: *
icy-name: *
icy-pub: 1
icy-url: http://*
Server: Icecast 2.3.2-kh29
Cache-Control: no-cache
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache

响应中未指定 Content-Length。尽管提出了要求,但也缺少 keep-alive。是正常情况吗?协议规定 Content-Length 必须在这种情况下。流开始播放。可能不是所有的标头都以这种方式显示在 LiveHTTPHeaders 中吗?或者流是一种特殊情况,当使用某种人工制作的 Content-Length 时?

4

1 回答 1

1

HTTP 1.0 不要求指定内容长度。SHOUTcast/Icecast 服务器不会指定内容长度,因为流是实时的并且没有预先确定的长度。

于 2013-07-30T17:03:28.503 回答