2011-02-24 2 views
11

브라우저는 어떤 조건에서 파일을 캐시합니까? 때로는 때때로 그렇지 않습니다. 아무도 모른다면, 내 다음 단계는 다양한 파일 형식, 파일 크기 및 htaccess 시나리오를 테스트하는 것입니다.브라우저 캐시는 어떤 조건에서 <video> 파일을 캐시합니까?

잘 모르겠 으면 테스트 할 것을 권하는 다른 변수를 생각해 볼 수 있습니까?

미리 감사드립니다.

답변

15

다음 작품이 파일을 캐시하도록 브라우저에 지시합니다. 마지막 줄은 서버가 올바른 헤더 MIME 유형을 사용하여 webm 파일을 전달하는 데 필요합니다.

# Expires is set to a point we won't reach, 
# Cache control will trigger first, 10 days after access 
# 10 Days = 60s x 60m x 24hrs x 10days = 864,000 
<FilesMatch "\.(webm|ogg|mp4)$"> 
Header set Expires "Mon, 27 Mar 2038 13:33:37 GMT" 
Header set Cache-Control "max-age=864000" 
</FilesMatch> 
AddType video/webm .webm 
5

HTML5 사양은 브라우저가 비디오 파일을 캐싱 할 때 수행해야하는 작업에 대해 엄격하지 않으며 "합리적인"내용을 제안하므로 이론적으로 다른 브라우저의 동작이 다를 수 있습니다.

웹 개발자는이 같은 <audio> 또는 <video> 요소에 preload 속성을 사용하여 비디오 캐싱을 제어하기 위해 시도 할 수 있습니다 : (예 : 더 나은 미리로드되지 않음)

preload=none 사용자가 비디오를 시청하지 않을 수 있습니다

preload=metadata 사용자가 동영상을 볼 수 있습니다 (예 : 동영상 정보 (크기, 기간 등)을 다운로드하는 것이 더 좋음)

preload=auto 사용자는 동영상을 볼 가능성이 큽니다. 비디오를 미리로드하고 캐싱)

내가 말했듯이이 사양은 이것을 적용하지 않으므로 브라우저는 선택하면 사전로드 값을 무시할 수 있습니다. 한 가지 예는 브라우저가 느리거나 불안정한 연결을 감지하여 미리로드를 거부 한 경우 일 수 있습니다. 현재로서는이 작업을 수행하는 브라우저를 모릅니다. 프리로드 특성에

더 자세한 정보는 여기에 있습니다 : http://www.w3.org/TR/html5/video.html#attr-media-preload

+1

감사합니다. 자세한 설명을 주신 데 대해 감사드립니다. 나는 나의 질문에서 불분명했을 지 모르지만. 내가 캐시라고 말했을 때 사용자가 페이지로 돌아 가면 비디오 파일을 다시 다운로드 할 필요가 없다는 의미입니다. 때로는 그렇지만 항상 그런 것은 아닙니다. "FFX에서는 ogg를 사용하지만 크롬에서는 아무 것도하지 않습니다."와 같은 대답은 "이 행을 htaccess 파일에 넣으면 모든 곳에서 사용할 수 있습니다"와 같은 도움이 될 것입니다. 감사! – Matrym

+0

아, 내 오해. 이 경우, 나는 정말로 확신 할 수 없으며 시행 착오 이외의 것을 어디에서 찾아야할지 모른다. 죄송합니다 - 아마도 당신이 바라는 대답이 아닙니다. – tagawa

관련 문제