http 캐 시 와 안 드 로 이 드 웹 뷰 설정 캐 시

2243 단어
이 글 은 옥 강 이 대중 호 를 말 한 문장 에서 옮 겨 졌 다.
  • 캐 시 개념 Last - Modified, ETag, Expires, Cache - Control.

  • Cache - Control, 예 를 들 어 Cache - Control: max - age = 2592000 은 캐 시 시간 이 2592000 초, 즉 한 달 30 일 이라는 것 을 나타 낸다.30 일 안에 이 파일 을 다시 요청 해 야 한다 면 브 라 우 저 는 요청 하지 않 고 로 컬 캐 시 파일 을 직접 사용 합 니 다.HTTP / 1.1 표준 필드 입 니 다.
    Expires 예 를 들 어 Expires: Tue, 25 Sep 2018 07: 17: 34 GMT 는 이 문서 의 만 료 시간 이 그리니치 시간 2018 년 9 월 25 일 7 시 17 분 이라는 것 을 나타 낸다.저 는 베 이 징 시간 으로 2018 년 8 월 26 일 15 시 에 요 청 했 기 때문에 유효기간 이 한 달 차이 가 나 지 않 는 다 는 것 을 알 수 있 습 니 다.이 시간 까지 브 라 우 저 는 이 파일 을 가 져 오 라 는 요청 을 다시 보 내지 않 습 니 다.Expires 는 HTTP / 1.0 의 필드 입 니 다. 클 라 이언 트 와 서버 시간 이 일치 하지 않 으 면 캐 시 에 문제 가 생 길 수 있 기 때문에 위의 Cache - Control 이 있 습 니 다.그것들 이 동시에 나타 날 때, Cache - Control 우선 순위 가 더욱 높다.
    Last - Modified 표지 파일 이 서버 에 있 는 최신 업데이트 시간 입 니 다. 다음 요청 시 파일 캐 시가 만 료 되면 브 라 우 저 는 If - Modified - Since 필드 를 통 해 이 시간 을 가지 고 서버 에 보 내 고 서버 비교 타임 스탬프 로 파일 의 수정 여 부 를 판단 합 니 다.수정 되 지 않 으 면 서버 는 304 (수정 되 지 않 음) 를 되 돌려 브 라 우 저 에 게 캐 시 를 계속 사용 하 라 고 알려 줍 니 다.수정 이 있 으 면 200 을 되 돌려 주 고 최신 파일 을 되 돌려 줍 니 다.
    Etag Etag 의 수 치 는 파일 을 표시 하 는 특징 문자열 입 니 다. 서버 에 파일 이 업데이트 되 었 는 지 확인 할 때 브 라 우 저 는 If - None - Match 필드 를 통 해 특징 문자열 을 서버 에 보 내 고 서버 와 파일 의 최신 특징 문자열 이 일치 하여 파일 이 업데이트 되 었 는 지 판단 합 니 다. 패키지 304 를 업데이트 하지 않 았 고 패키지 200 을 업데이트 하 였 습 니 다.Etag 와 Last - Modified 는 수요 에 따라 하나 또는 두 개 를 동시에 사용 할 수 있 습 니 다.두 가 지 를 동시에 사용 할 때 기본 조건 중 하 나 를 만족 시 키 면 파일 이 업데이트 되 지 않 았 다 고 생각 합 니 다.
    흔히 볼 수 있 는 용법 은 Cache - Control 은 Last - Modified 와 함께 사용 하고 Expires 는 Etag 와 함께 사용 합 니 다.
  • WebView 에 캐 시 설정
  • WebSettings webSettings = webView.getSettings();
    webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
    

    다음은 5 개의 캐 시 모드 에 대한 설명 입 니 다.
    LOAD_CACHE_ONLY: 네트워크 를 사용 하지 않 고 로 컬 캐 시 데이터 만 읽 습 니 다.
    LOAD_DEFAULT: cache - control 에 따라 네트워크 에서 데 이 터 를 가 져 올 지 여 부 를 결정 합 니 다.
    LOAD_CACHE_NORMAL: API level 17 에서 폐기 되 었 습 니 다. API level 11 부터 LOAD 역할 을 합 니 다.DEFAULT 모드
    LOAD_NO_CACHE: 캐 시 를 사용 하지 않 고 네트워크 에서 만 데 이 터 를 가 져 옵 니 다.
    LOAD_CACHE_ELSE_NETWORK 는 로 컬 에 만 있 으 면 만 료 되 든 no - cache 든 캐 시 에 있 는 데 이 터 를 사용 합 니 다.로 컬 에 캐 시가 없 을 때 만 네트워크 에서 가 져 옵 니 다.
    그래서 우 리 는 보통 기본 캐 시 모드 로 설정 하면 됩 니 다.캐 시 설정 은 주로 웹 프론트 와 백 엔 드 에 의 해 설 정 됩 니 다.

    좋은 웹페이지 즐겨찾기