<LINK rel=SUBRESOURCE href=“file”>은 올바른 캐시 헤더가 있음에도 불구하고 캐시하지 않습니다.200OK 응답으로 두 번 다운로드되는 것으로 나타남

StackOverflow https://stackoverflow.com//questions/24000590

문제

내 웹사이트에서 Glyphicon을 사용하고 있으며 Bootstrap 3의 일부로 제공됩니다.개발자 콘솔의 네트워크 탭을 보면서 (브라우저의 파서가 이에 도달했을 때) 늦게 로드되고 있으며 해당 요소를 브라우저에 더 빨리 가져옴으로써 성능을 향상시킬 여지가 있다는 것을 깨달았습니다.

Chrome에서는 다음을 통해 이 작업을 수행할 수 있습니다.

<link rel="subresource" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.1/fonts/glyphicons-halflings-regular.woff">

에서 <HEAD> 문서의.

이 파일이 두 번 로드되고 있음을 나타내는 방식으로 DOMContentLoaded 시간이 증가하는 것을 볼 수 있습니다(스크린샷의 5번째 줄에서 첫 번째, 마지막 줄의 두 번째에서 다시 한 번).내 의심은 두 번 모두 원격 서버에서 왔고 캐시에서 가져오지 않았음을 알려주는 HTTP 응답 코드(200)에 의해 두 번 로드되고 있다는 것이 확인되었습니다.

개발자 콘솔의 모습은 다음과 같습니다.http://oi60.tinypic.com/2t9n7.jpg(tinypic이 다운될 경우 내 보관용 계정에 보관됩니다. https://www.dropbox.com/s/vlwgywatg9rsg8v/subresourcenotcached.png)

해당 자산의 HTTP 버전에 대한 캐시 헤더는 있지만 개발자 콘솔의 네트워크 탭 출력이 HTTP와 HTTPS 모두에서 동일하게 보인다는 점은 주목할 가치가 있습니다.

HTTP/1.1·200·OK(CR)(LF)
Server:·cloudflare-nginx(CR)(LF)
Date:·Mon,·02·Jun·2014·17:49:06·GMT(CR)(LF)
Content-Type:·application/octet-stream(CR)(LF)
Content-Length:·23320(CR)(LF)
Connection:·close(CR)(LF)
Last-Modified:·Thu,·13·Feb·2014·22:45:07·GMT(CR)(LF)
Expires:·Sat,·23·May·2015·17:49:06·GMT(CR)(LF)
Cache-Control:·public,·max-age=30672000(CR)(LF)
Access-Control-Allow-Origin:·*(CR)(LF)
CF-Cache-Status:·HIT(CR)(LF)
Accept-Ranges:·bytes(CR)(LF)
CF-RAY:·13457c53f04d0378-LAX(CR)(LF)
(CR)(LF)

이 .woff 파일을 캐시에 저장하고 Chrome에서 LINK SUBRESOURCE 기능을 적절하게 활용하는 방법에 대해 아는 사람이 있나요?

도움이 되었습니까?

해결책

현재 Chrome의 버그입니다.보세요 https://code.google.com/p/chromium/issues/detail?id=312327

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top