우리 사이트에서 비디오 파일 (mp4)을 호스팅합니다.
모든 파일은 Chrome에서 너무 느리게로드됩니다 .FF에서는 모든 것이 정상입니다.
크기가 34MB 인 파일의 다운로드를 테스트했습니다 (직접 링크로 파일을 열었습니다). 결과는 다음과 같습니다.
- Chrome 에서 ~ 22000 (!) 개의 요청을했으며 982MB가 전송되었습니다.
- Firefox 는 5 번만 요청했습니다.
서버로서 기본 (비디오 파일 제공과 관련) 설정으로 nginx 를 사용 합니다.
여기서 상호 작용 (처음 5 개의 요청)은 Chrome과 서버 사이에 있습니다. 만 Range
, Content-Length
, Content-Range
헤더가 포함되어 있습니다.
(<-Chrome에서 보낸 헤더, <-서버에서 보낸 헤더) :
> Initial request for file, usual GET
< Content-Length:35690389
< Content-Type:video/mp4
Then a bunch of similar requests, on which the server responded with 206 status code:
---
> Range:bytes=0-
< Content-Length:35690389
< Content-Range:bytes 0-35690388/35690389
---
> Range:bytes=29100305-
< Content-Length:6590084
< Content-Range:bytes 29100305-35690388/35690389
---
> Range:bytes=35566374-
< Content-Length:124015
< Content-Range:bytes 35566374-35690388/35690389
---
> Range:bytes=32-
< Content-Length:35690357
< Content-Range:bytes 32-35690388/35690389
Chrome이 서버에서 전송 된 일부 헤더 (예 : 범위)를 오해하고 동일한 파일을 여러 번 다운로드하는 것 같습니다.
무엇이 문제를 일으킬 수 있습니까? 어떤 아이디어?