为什么Chrome会向我的应用发出两个请求?

时间:2015-05-10 18:43:06

标签: google-chrome http flask http-headers ogg

我有一个Flask应用程序,它返回服务器生成的Ogg Vorbis音频。

resp = make_response(out.getvalue())  # out is a StringIO()
resp.headers['Content-Type'] = 'audio/ogg'
return resp

当我在Chrome中请求此功能时,它表现得很奇怪。第一个请求完成后,将显示Chrome音频播放器,然后发送第二个请求。一旦完成,音频就会开始播放。

请求之间只有一些差异:

请求1

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Cache-Control: max-age=0

请求2

Accept: */*
Accept-Encoding: identity;q=1, *;q=0
Range: bytes=0-8397

第二个请求中Range标头的奇怪之处在于响应的Content-Length为8398。

两个请求的响应头都相同。

Content-Length: 8398
Content-Type: audio/ogg
Date: Sun, 10 May 2015 18:35:09 GMT
Server: Werkzeug/0.9.6 Python/2.7.9

为什么会这样?

0 个答案:

没有答案