서비스 워커 JavaScript 업데이트 빈도 (24 시간마다?)
MDN의이 문서에 따르면 :
그 후에는 약 24 시간마다 다운로드됩니다. 그것은 수 더 자주 다운로드 할 수 있지만, 너무 오래 성가신되는 것을 나쁜 스크립트를 방지하기 위해 모든 24 시간을 다운로드해야합니다.
Firefox와 Chrome도 마찬가지입니까? 또는 서비스 워커 자바 스크립트 업데이트는 사용자가 사이트를 탐색 할 때만 발생합니까?
참고 : Firefox 57 및 Chrome 68 및 서비스 워커를 지원하는 Safari 및 Edge 버전부터는 기본 동작이 업데이트 된 서비스 워커 사양 을 고려하여 변경되었습니다 . 이러한 브라우저에서 HTTP 캐시 지시문은 서비스 워커 스크립트에서 업데이트를 확인할 때 기본적으로 무시됩니다. 아래 설명은 이전 버전의 Chrome 및 Firefox에 계속 적용됩니다.
서비스 워커의 범위에있는 새 페이지로 이동할 때마다 Chrome은 navigator.serviceWorker.register()
호출 에 전달 된 자바 스크립트 리소스에 대한 표준 HTTP 요청을 만듭니다 . 이름이이라고 가정 해 봅시다 service-worker.js
. 이 요청은 내비게이션과 함께 또는 서비스 워커가 예를 들어 push
이벤트 를 통해 깨어 난 경우에만 이루어집니다 . 가 없는 24 시간마다, 또는 아무것도 그런 자동화 refetches 각 서비스 노동자 스크립트하는 백그라운드 프로세스.
이 HTTP 요청은 한 가지 예외를 제외 하고 표준 HTTP 캐시 지시문을 따릅니다 (다음 단락에서 다룹니다). 예를 들어, 서버가 캐시 된 응답을 1 시간 동안 사용해야 함을 나타내는 적절한 HTTP 응답 헤더를 설정 한 경우 다음 1 시간 내에 브라우저의 요청 service-worker.js
이 브라우저의 캐시에 의해 이행됩니다. 우리가 있다는 것을 참고 하지 에 대해 이야기 캐시 스토리지 API 이 상황에서 관련이없는, 오히려 표준 브라우저의 HTTP 캐싱 .
표준 HTTP 캐싱 규칙의 한 가지 예외는 24 시간이 시작되는 곳 service-worker.js
입니다. HTTP 캐시 의 항목 수명 이 24 시간 이상 이면 브라우저가 항상 네트워크로 이동한다는 것입니다. 따라서 기능적으로 max-age
는 1 일, 1 주 또는 1 년 을 사용하는 데 차이가 없습니다. 모두 max-age
1 일인 것처럼 처리됩니다 .
브라우저 공급 업체는 개발자가 1 년 동안 service-worker.js
제공 되는 "깨진"또는 버그 를 실수로 배포하지 않도록 max-age
하여 사용자에게 오랜 기간 동안 지속적이고 중단 된 웹 경험을 남길 수 있도록합니다. (사용자가 사이트 데이터를 지우거나 사이트를 다시로드하는 것을 알고 있다고 믿을 수는 없습니다.)
일부 개발자는 service-worker.js
모든 HTTP 캐싱이 비활성화되도록 응답 헤더 를 명시 적으로 제공하는 것을 선호합니다 . 즉 service-worker.js
, 모든 탐색에 대해 네트워크 요청 이 이루어집니다. 또 다른 접근 방식은 매우 짧은 시간 (예 : max-age
1 분)을 사용하여 단일 사용자로부터 매우 많은 수의 빠른 탐색이있는 경우 어느 정도의 제한을 제공하는 것입니다. 요청을 최소화하고 싶고 service-worker.js
곧 업데이트하지 않을 것이라고 확신 하는 경우 max-age
24 시간을 자유롭게 설정할 수 있지만 예기치 않게 재배포해야하는 기회에 더 짧은 시간을 사용하는 것이 좋습니다.
'Programing' 카테고리의 다른 글
GURU_MEDITATION 오류 상태에서 Virtualbox 머신을 어떻게 삭제합니까? (0) | 2020.11.30 |
---|---|
Pandas에서 0 만 포함 된 열을 어떻게 삭제합니까? (0) | 2020.11.30 |
디버그 모드에서 콘솔 응용 프로그램을 실행 한 후 Visual Studio를 일시 중지하려면 어떻게해야합니까? (0) | 2020.11.29 |
동일한 데이터베이스 내에서 컬렉션을 복사하는 가장 빠른 방법은 무엇입니까? (0) | 2020.11.29 |
data.sql MySQL Docker 컨테이너 가져 오기 (0) | 2020.11.29 |