반응형
워크박스로 런타임 캐시 관리
서비스 워커의 런타임 캐시 설정
- 앱을 실행하는 중간에 필요한 내용을 캐시하는 것을 의미
워크박스의 5가지 캐시전략
프리 캐시(pre-cache)
- 서비스 워커가 등록될 때 미리 원하는 파일만 지정하여 캐시하는 것
- 빠르고 손쉬운 방법
런타임(runtime) 캐시
- 브라우저의 HTTPS 요청처럼 프로그램 로직에 따라 앱 실행 중에 캐시해야 하는 경우 적용
- '캐시전략'이라는 사용방식을 결정해야 함
워크박스 5가지 '캐시전략'지원
- Network-First, Cache-First, Stale-while-revalidate,Network-only, Cache-only
1. Network-First 캐시전략
인터넷 접속을 먼저 요청
- 인터넷 접속이 성공하면 결과를 보여주고 그 내용을 캐시에 반영
항상 새로운 내용이 중요할 때 적합
예)인터넷 기사
2. Cache-First 캐시 전략
1 단계로 캐시에 먼저 요청
- 만약 내용이 있으며 성공적으로 결과 보여줌
바뀔 경우가 거의 없는 파일에 적합
예)폰트, 아이콘, 이미지
3.Stale-while-revalidate 캐시 전략
1단계에서 캐시에 먼저 요청
- 내용이 있으면 성공적으로 결과 표시
- 동시에 서비스 워커는 인터넷에 접속하여 캐시된 내용이 원본과 같은지 확인
- 만약 다르면 캐시를 새로운 원본으로 업데이트
가끔 업데이트가 발생할 경우 적용
예) 아바타 이미지
4. Network-Only 전략
필요한 파일이 있으면 무조건 인터넷에 접속해서 가져오는 방식
- 데이터 변경이 너무 빈번해서 캐시가 의미가 없을 때 사용
5. Cache-Only 전략
필요한 파일이 있으면 무조건 캐시에서 가져오는 방법
- 데이터 변경이 전혀 없고 오프라인 작업만으로 실행이 가능할 때 사용
프리캐시(pre-cache) 옵션지정
프리캐시(pre-cache)
옵션 | 의미 | 적용사례 |
include | 프리캐시에서 사용할 파잉를 지정한다. 이것은 파일이름을 토대로 하므로 대량으로 찾는 정규식을 함께 활요하면 유용하다. | include:[/].css$/, /\.js$/] |
exclude | 프리캐시에서 제거할 파일을 지정하다. 사용법은 include처럼 정규식을 함께 활요한다. 그런데 유의할 점은 제거할 파일이 없어도 exclude:[]처럼 반드시 명시해 주어야 제대로 동작한다. | exclude : [/\.json$/, /\.png$/] |
런타임 캐시옵션 지정
설정 | 의미 | 적용 사례 | |
handler | 앞에서 설명한 5가지 캐시 전략 중 한 가지 사용 | Cache-First 전략 사용 handler : 'cacheFirst' |
|
urlPattern | 정규식 사용해서 캐시하려는 파일이나 URL경로 지정 | *.png 이미지 파일 캐시 urlPattern :/\.png$/ 구글폰트 URL 캐시 /^https:\/\/fonts\.gstatic\.com/ |
|
options | cacheName | 개발자 도구에 표시할 캐시 제목 | cacheName :'png-cache' |
expiration | 캐시제약지정 maxEntries : 캐시할 개수 maxAgeSeconds: 캐시가 유지될 총 시간(초) |
총 파일 10개까지 캐시 maxEntries:10 1년 캐시 maxAgeSeconds : 60 * 60 * 24 * 365 |
|
cacheableResponse | HTTP응답 코드를 통해서 캐시 여부 결정 | 응답 코드가 200(성공) , 404(파일 없음)면 캐시 cacheableResponse:{statuses:[200,404]} |
카메라 사진 갤러리 앱 구경하기
카메라로 촬영한 사진을 바로 올려 게시하는 카메라 갤러리
싱글페이지앱의 라우터 사용법
마스터 디테일 구조학습
최종목표
- 카메라로 촬영하기
- 파이어베이스 사진 저장하기
- 촬영한 사진을 카메라 갤러리에 가져오기
파이어베이스 스토리지 DB준비하기
파이어베이스 스토리지란?
- iOS, 안드로이드 기기나 사용자 생성 콘텐츠인 이미지, 비디오 파일을 서버가 없이도 웹에 저장할 수 있는 클라우드 서비스 의미
- 콘솔에서 직접 폴더를 관리, 파일을 업로드할 수 있어서 편리
파이어베이스 스토리지 서비스
- 카메라로 촬영한 이미지를 서버에 업로드
- 파이어베이스 DB와 함께 사용 가능
- 백엔드 관리 용이
워크박스로 서비스 워커에서 캐시관리하가
워크박스의 InjectManifest 모드 학습
- 카메로 직접 찍은 사지은 기본 캐시가 되지 않음
- InjectManifest 모드 캐시 적용
728x90
'VueJS > VueJS' 카테고리의 다른 글
2023/06/28__VueJS(Vue3) (0) | 2023.06.28 |
---|---|
2023/06/27__VueJS(Vue3) (0) | 2023.06.27 |
2023/06/19__VueJS(Vue && PWA && Firebase) (0) | 2023.06.20 |
2023/06/15__VueJS(vuetify) (0) | 2023.06.15 |
2023/06/14__VueJS(Vuetify) (0) | 2023.06.14 |