간단한 랜딩 페이지에서 헤비급 단일 페이지 앱으로 클릭 할 때 성능 향상을 위해 다음과 같은 것을 사용하려고했습니다.
<link rel="prefetch" href="https://example.com" as="document" />
<link rel="prefetch" href="https://example.com/app.js" as="script" />
<link rel="prefetch" href="https://example.com/app.css" as="style" />
방문 페이지가 하위 도메인에있을 때 눈에 띄는 성능 향상이없는 것 같습니다. 말해봐 https://subdomain.example.com
.
나는 방문에 대한 링크를 클릭하면 https://example.com
, 나는 여전히 크롬 네트워크 탭에서 긴 지연을 참조 app.js
하고 app.css
로드 :
프리 페치를 비활성화 한 동일한 리소스는 다음과 같습니다.
총 시간이 거의 같습니다.
프리 페치 캐시로로드 된 자산 중 하나에 대한 요청 헤더 :
일반:
Request URL: https://example.com/css/app.bffe365a.css
Request Method: GET
Status Code: 200 (from prefetch cache)
Remote Address: 13.226.219.19:443
Referrer Policy: no-referrer-when-downgrade
응답:
accept-ranges: bytes
cache-control: max-age=31536000
content-encoding: gzip
content-length: 39682
content-type: text/css
date: Mon, 06 Jan 2020 21:42:53 GMT
etag: "d6f5135674904979a2dfa9dab1d2c440"
last-modified: Mon, 06 Jan 2020 20:46:46 GMT
server: AmazonS3
status: 200
via: 1.1 example.cloudfront.net (CloudFront)
x-amz-cf-id: dO3yiCoPErExrE2BLYbUJaVye32FIJXXxMdI4neDGzGX9a6gcCDumg==
x-amz-cf-pop: LAX50-C1
x-amz-id-2: 1O0LmihxpHIywEaMQWX7G3FDAzxtH9tZq1T/jeVLMzifFSJSIIJSS6+175H61kKdAq6iEbwfs2I=
x-amz-request-id: AF35C178092B65D4
x-cache: Hit from cloudfront
의뢰:
DNT: 1
Referer: https://example.com/auth/join
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
내 질문은 : Chrome에서 프리 페치 캐시가 사용되었다고 표시하면 왜 콘텐츠 다운로드 시간이 중요한가요?
Chrome에는 프리 페치 캐시, 디스크 캐시 및 메모리 캐시와 같은 다양한 종류의 캐시가있는 것 같습니다. 디스크 캐시와 메모리 캐시는 매우 빠릅니다 (5ms 및 0ms로드 시간). 그러나 프리 페치 캐시는 때로는 300ms 다운로드 시간으로 쓸모가 없습니다. 왜 이런 일이 발생했는지 기술적 인 설명을 얻을 수 있습니까? Chrome의 버그입니까? Chrome 79.0.3945.117에 있습니다.