service work 緩存

情景描述

  • 我們使用create react app產(chǎn)生一個前端項目痢艺。
  • 直接導致的問題就是,上一次成功的從服務(wù)器拿到的response。當服務(wù)器未開啟或者服務(wù)有問題胶惰,在同一瀏覽器再次打開仍然能夠拿到從服務(wù)器獲取的response。
  • 這嚴重影響到了開發(fā)霞溪。但是在我的知識體系中認為這是緩存造成的孵滞。

矛盾點

  • 服務(wù)器如果壞了,也就意味著數(shù)據(jù)請求不到鸯匹。但是我們的前端頁面卻可以在服務(wù)器壞的時候拿到數(shù)據(jù)坊饶。那么這是緩存機制造成的還是是什么?
  • 打開chrome tool application發(fā)現(xiàn)針對數(shù)據(jù)存儲其中包含:Cache LocalStorage sessionStorage service works cookie 以及到底他們的作用機制有什么不同殴蓬,造成當前原因的到底是什么匿级?

問題解答

  • Q1:總是提到緩存,緩存是什么染厅,什么作用痘绎,所謂的清除緩存是清除什么,以及緩存的可用時間可用位置都是什么肖粮?
  • A1:緩存的相關(guān)信息
    • 這里我想說的緩存其實是web緩存機制
    • web緩存:是指一個Web資源(如html頁面孤页,圖片,js涩馆,數(shù)據(jù)等)存在于Web服務(wù)器和客戶端(瀏覽器)之間的副本
    • 緩存的作用:用于快速讀取資源或者避免重復(fù)請求資源
    • 緩存本質(zhì):可以理解成客戶端(瀏覽器)擁有一個小型的數(shù)據(jù)庫行施,將從服務(wù)器讀取過來的資源存在本地(瀏覽器)數(shù)據(jù)庫中。當用戶請求資源的時候魂那,首先訪問本地數(shù)據(jù)庫中是否包含可用數(shù)據(jù)蛾号,有則直接提出,沒有再向服務(wù)器發(fā)送請求涯雅。這不僅可以避免重復(fù)請求而且對于用戶而言可以加快請求處理速度
    • HTML5提供的緩存機制:有很多種類其中包含:http(瀏覽器)緩存鲜结、websql、indexDb、cookie精刷、localStorage拗胜、sessionStorage、application cache贬养、cacheStorage
    • 而緩存的可用時間以及位置都是根據(jù)不同的緩存方式?jīng)Q定的

  • Q2:那么我們出現(xiàn)的這種緩存是哪一種緩存呢挤土?
  • A2:我們這里的緩存應(yīng)該是運用了service work琴庵。

  • Q3:是什么是service worker?
  • A3:我想把它理解成一個運行在瀏覽器后端的小型服務(wù)器误算,針對瀏覽器通過fetch發(fā)出的請求,他可以做到攔截請求迷殿,發(fā)回自己的響應(yīng)儿礼。這就類似于瀏覽器給瀏覽器自身發(fā)送請求。但是對于頁面或者瀏覽器而言庆寺,這和他發(fā)送到后端的請求沒什么區(qū)別蚊夫。因此可以將Service worker理解成瀏覽器服務(wù)器。

  • Q4:那么create-react-app是什么時候為我們加上這個service worker的懦尝?
  • A4:
    • 這是create react app為我們在代碼中自動加入的知纷。我們可以選擇不注冊service work即可。
    • 方式通過在index.html中直接將registerServiceWorker();刪除即可.現(xiàn)在也明白了為什么create react APP非要使用fetch陵霉,因為ServiceWorker可以劫持fetch發(fā)送的請求琅轧。

反思

  • 作為前端dev,竟然前端基礎(chǔ)知識缺失那么多踊挠。還是源于沒有系統(tǒng)學習乍桂。總是get到一個點之后效床,就學習這個一點睹酌。類似于樹型結(jié)構(gòu)就學了樹杈上的一個點。現(xiàn)在如果想要做到基礎(chǔ)知識的補充必須學會先從樹杈向上爬剩檀,爬到最近的交匯點憋沿,然后系統(tǒng)的向下學習,積累多了應(yīng)該就可以點連成線了沪猴。

ACTION

  • 以后每一個知識點卤妒。先要歸類。歸到最近的知識塊中字币。然后反問自己是否對這個知識塊了解则披。如果不懂,要求自己吧整個知識塊全部弄明白
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洗出,一起剝皮案震驚了整個濱河市士复,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖阱洪,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件便贵,死亡現(xiàn)場離奇詭異,居然都是意外死亡冗荸,警方通過查閱死者的電腦和手機承璃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚌本,“玉大人盔粹,你說我怎么就攤上這事〕贪” “怎么了舷嗡?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嵌莉。 經(jīng)常有香客問我进萄,道長,這世上最難降的妖魔是什么锐峭? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任中鼠,我火速辦了婚禮,結(jié)果婚禮上沿癞,老公的妹妹穿的比我還像新娘援雇。我一直安慰自己,他們只是感情好抛寝,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布熊杨。 她就那樣靜靜地躺著,像睡著了一般盗舰。 火紅的嫁衣襯著肌膚如雪晶府。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天钻趋,我揣著相機與錄音川陆,去河邊找鬼。 笑死蛮位,一個胖子當著我的面吹牛较沪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播失仁,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼尸曼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了萄焦?” 一聲冷哼從身側(cè)響起控轿,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤冤竹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后茬射,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹦蠕,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年在抛,在試婚紗的時候發(fā)現(xiàn)自己被綠了钟病。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡刚梭,死狀恐怖肠阱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情望浩,我是刑警寧澤辖所,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布惰说,位于F島的核電站磨德,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吆视。R本人自食惡果不足惜典挑,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啦吧。 院中可真熱鬧,春花似錦、人聲如沸鼻疮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽般堆。三九已至在孝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淮摔,已是汗流浹背私沮。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留和橙,地道東北人仔燕。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像魔招,于是被迫代替她去往敵國和親晰搀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容