国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

前端 - 關(guān)于瀏覽器緩存html文件

瀏覽:134日期:2023-10-07 11:30:20

問(wèn)題描述

最近在學(xué)習(xí)瀏覽器的緩存機(jī)制,看到有一種方案,使用強(qiáng)緩存,資源名用文件名+md5來(lái)命名,實(shí)現(xiàn)資源的更新,對(duì)于這個(gè)方案有幾點(diǎn)疑問(wèn):

是否每次修改了資源,都要在html中修改link標(biāo)簽,把url指向最新的資源。這樣不會(huì)很麻煩嗎?尤其是同一個(gè)資源被無(wú)數(shù)html引用的時(shí)候(所以會(huì)有類(lèi)似的工具/腳本?)

瀏覽器也會(huì)緩存這個(gè)html文件,那么html文件自身如何更新呢?比如我用node寫(xiě)個(gè)服務(wù)器,可能一句app.use(’/’, index);就好了,但是每次瀏覽器也會(huì)對(duì)html進(jìn)行緩存,如果用到上述這種方案的話,是否應(yīng)該在服務(wù)器這里做出改動(dòng),讓所有返回的html文件,都不使用強(qiáng)緩存,這樣每次就可以加載到最新修改的html了。(我也查看了幾家大網(wǎng)站的F12,有的html就是200,比如百度和網(wǎng)易,新浪這種還是返回的304)

可以講一講詳細(xì)的方案嗎。。查看很多資料都是一句“資源名+md5命名,每次加載最新的資源”,初學(xué)者在實(shí)現(xiàn)上有些看不懂。。。

問(wèn)題解答

回答1:

-> 1, 每次資源更新, HTML 是需要更新的, 這通過(guò)代碼來(lái)完成, 比如 HTML 頁(yè)面是個(gè)模板引擎, md5 文件后綴通過(guò) Webpack 生成, 渲染一下就好.

-> 2, 看具體策略吧. 如果是靜態(tài)文件, 一般通過(guò) HTTP 協(xié)議檢查文件的更新時(shí)間或者 etag, 不更新返回 304, 更新返回 200. HTML 文件放在服務(wù)器, 跟靜態(tài)資源放在 CDN 生成 200(from cache) 區(qū)分開(kāi). 如果頁(yè)面是需要針對(duì)每個(gè)請(qǐng)求渲染生成, 那一般就是 200 了.

-> 3, 整個(gè)過(guò)程麻煩地很, 根據(jù)業(yè)務(wù)和工具鏈還會(huì)有變化, 太復(fù)雜, 一般人沒(méi)心情講. 推薦去把國(guó)外的博客看, 比如 https://medium.com/@okonetchn...

標(biāo)簽: HTML
相關(guān)文章:
主站蜘蛛池模板: 嘉峪关市| 余姚市| 四平市| 长岭县| 华安县| 建阳市| 吴江市| 甘孜县| 玛沁县| 灌云县| 邵阳县| 中卫市| 德清县| 六枝特区| 象州县| 封开县| 晴隆县| 修水县| 鲜城| 宜城市| 甘南县| 永泰县| 南昌县| 河源市| 日土县| 菏泽市| 洪泽县| 湖州市| 遂川县| 阿尔山市| 天长市| 庆安县| 玛多县| 夏河县| 湖北省| 安图县| 荔波县| 西峡县| 蒙山县| 辽宁省| 通海县|