서버가 정적 리소스에 긴 캐시를 설정함(expires 7d)), 장점은 속도가 빠르다는 점이며, 단점은 CSS 또는 JS를 수정했지만 사용자 브라우저는 여전히 오래된 것을 사용함. 증상은 "명백히 수정했는데, 운영 환경에서 변화가 보이지 않는다"는 것입니다. 유일한 해결책은 참조에 버전 식별자를 추가하는 것이며,한 번 수정하면 한 단계 업그레이드. HTML을 복사해서 한 번에 모두 추가함.
—
1 · 같은 함정을 세 번 연속 밟음.CSS를 처음 수정했을 때 운영 환경에 변화가 없었고, 두 번째에도 변화가 없었으며, 세 번째에 JS 네비게이션을 수정해도 여전히 나타나지 않았습니다. 근본 원인은 모두 동일합니다: nginx가 정적 리소스에 대해 expires 7d하지만 페이지 참조에는 버전 번호가 없습니다.
2 · 규칙은 간단하지만 프로세스에 반드시 포함되어야 함.긴 캐시 기간을 설정하려면 반드시 버전 식별자(version stamp)를 함께 설정해야 하며, 리소스를 한 번 수정할 때마다 버전 번호를 올려야 합니다.지금은 이 작업이 릴리스 체크리스트의 고정 항목임.
3 · 백엔드 페이지는 반대로 진행합니다.백엔드/데이터 관련 페이지는 Cache-Control: no-store, 긴 캐시를 사용하지 않음. 그렇지 않으면 백엔드 수정 후에도 7일 기다려야 함.
4 · 하나의 페이지만 수정하지 마세요.동일한 CSS 파일이 9개의 페이지에서 참조되고 있는데, 그중 일부만 수정하면 "일부 페이지는 최신이고 일부는 구버전"이라는 이상 현상이 발생합니다.