저는 최근 JavaScript를 배우고 있으며 Math.rand()를 사용하여 링크(Face book.com, 가독성 북마크)에 추가하는 예를 많이 보았습니다.
이렇게 하면 어떤 문제가 해결되나요? 가독성 북마크의 매개변수 예시:
으아악JavaScript에 해결해야 할 충돌이나 문제가 있나요?
P粉1447050652023-11-05 11:47:29
루벤스가 말했듯이 이는 캐싱을 방지하기 위해 사용되는 트릭인 경우가 많습니다. 브라우저는 JavaScript와 CSS를 매우 적극적으로 캐시하는 경향이 있어 대역폭을 절약할 수 있지만 스크립트를 변경할 때 배포 문제가 발생할 수도 있습니다.
브라우저가 자신이 http://www.example.com/something.js?foo
的资源与 http://www.example.com 不同/something.js?bar
에 있다고 생각하므로 리소스를 검색하기 위해 로컬 캐시를 사용하지 않는다는 아이디어입니다.
아마도 더 일반적인 패턴은 리소스를 변경해야 할 때마다 변경되는 증분 값을 추가하는 것입니다. 이렇게 하면 반복되는 요청을 처리하기 위해 클라이언트 측 캐싱의 이점을 얻을 수 있지만 새 버전이 배포되면 브라우저가 새 버전을 가져오도록 강제됩니다.
개인적으로 저는 파일을 변경할 때마다 버전 번호를 찾아 수정할 필요가 없도록 파일의 마지막 수정 시간을 Unix 타임스탬프로 추가하는 것을 좋아합니다.