This article brings you what is the HTML5 caching mechanism? How to update the cache has certain reference value. Friends in need can refer to it. I hope it will be helpful to you. [Recommended reading: Html5 Tutorial]
Background
Offline caching is a new feature provided by HTML5. Using the offline caching function provided by HTML5, you can cache some commonly used files of the site locally, and you can still access the cached pages even when there is no network. There are many file types that can be cached, including but not limited to html, css, js, static image resources, etc.
In fact, offline caching is not only used when there is no network. When there is a network, locally cached files will still be used first. When there is a network, the browser will return 200,
Offline caching has many benefits. First, it can effectively improve user experience and save user traffic. Second, the page loading speed can be improved, and cached resources can be loaded faster. Third, the server load can be reduced, and the browser will only download updated or changed resources from the server.
Browser support
Basically all mainstream browsers support it, except IE, which is weird after all. It is better not to be compatible with this kind of browser.
Manifest
If you want to use offline caching on a page, you only need to add a manifest attribute to the html of the page. The usage method is as follows.
<!DOCTYPE HTML> <html manifest = "cache.appcache"> <body>…</body> </html>
When the browser loads the page and finds that the html has the attribute manifest, it will request the cache.appcache file (ps: this is just a file name, generally ending with .appcache, and the file is usually placed in The root directory of the project)
btw: The manifest file needs to configure the MIME-type to "text/cache-manifest", which is necessary. You need to configure it on the server.
Let’s take a look at how the manifest file (cache.appcache) should be written
I found this information from w3School:
CACHE MANIFEST - listed under this title Files will be cached after first download
NETWORK - Files listed under this heading require a connection to the server and will not be cached
FALLBACK - Files listed under this heading require The fallback page when the page cannot be accessed (such as the 404 page)
cache.appcache file is as follows
# CACHE MANIFEST是必须的! CACHE MANIFEST /style.css /logo.png /app.js # 不缓存的文件,永远不会被缓存,且离线时是不可用的 NETWORK: login.js # 可以使用星号来指示所有其他资源/文件都需要因特网连接: NETWORK: * # 注释:获取不到资源时的备选路径,就跳转到指定页面 FALLBACK: index.html 404.html
How to update the cache
As mentioned at the beginning of the article, browse When the server finds that there is a manifest file on the HTML, it will first request the cache.appcache file, and then cache it based on the content of the manifest file. The specific process is as follows
In online situations, if it is the first time to access the application, the browser will download the corresponding resources based on the contents of the manifest file and store them offline. If the application has been accessed and the resources have been stored offline, the browser will use the offline resources to load the page, and then the browser will compare the new manifest file with the old manifest file. If the file has not changed, no operation will be performed. , if the file changes, the resources in the file will be re-downloaded and stored offline.
When offline, the browser directly uses the local cache. Have you found a problem? What if after we update the code, the browser still uses the original cache.
The simplest and crudest way is to manually clear the browser cache. Of course, this will not be done in a production environment to a large extent.
How to modify the manifest
The line starting with "#" is a comment line, but it can also meet other purposes. The application's cache is updated when its manifest file changes. If you edit an image, or modify a JavaScript function, these changes will not be re-cached. Updating the date and version number in the comment line is a way to cause the browser to re-cache the file.
The above is the detailed content of What is HTML5 caching mechanism? How to update cache. For more information, please follow other related articles on the PHP Chinese website!