3- html meta 標(biāo)簽和瀏覽器緩存關(guān)系

html 中 meta 的介紹

基本介紹

  • meta 標(biāo)簽主要是用來描述一個 html 網(wǎng)頁文檔的屬性的物咳。 例如 作者、日期赋咽、時間旧噪、頁面刷新吨娜。
  • 還可以用于 seo 的搜索優(yōu)化。

基本屬性

分為必選和可選項

  • 1.必選屬性:

    • ==content== 屬性淘钟。該屬性是為了定義與http-equiv或者name屬性相關(guān)的元信息宦赠,其中的內(nèi)容是為了便于搜索機器人查找信息和分類使用的。
  • 2.可選屬性:

    • ==name== 屬性米母。該屬性主要用于描述網(wǎng)頁勾扭。name屬性的值可以有:author、description铁瞒、keywords妙色、generator等等
    • ==http-equiv== 屬性。該屬性相當(dāng)于http的頭文件作用慧耍,可以向瀏覽器返回一些有用的信息身辨,以幫助正確和精確的顯示內(nèi)容。http-equiv屬性的值可以有content-type芍碧、expires煌珊、refresh等等。

name 屬性 的一般應(yīng)用

  • keyword泌豆、description定庵、author、robot 基本應(yīng)用
// 語言格式
<meta charset="utf-8">

//關(guān)鍵字 和 描述 html 主體內(nèi)容
<meta name="keywords" content="關(guān)于meta標(biāo)簽,網(wǎng)頁,918之初">
<meta name="description" content="HTML中<meta>標(biāo)簽如何正確使用">

// 作者信息
<meta name="author" content="somebody">
//便于 seo 搜索
<meta name="robot" content="none">

該屬性的值有all、none蔬浙、index猪落、noindex、follow和nofollow畴博。默認(rèn)為all许布。

  • 設(shè)定為all:文件將被檢索,且頁面上的鏈接可以被查詢绎晃;

  • 設(shè)定為none:文件將不被檢索蜜唾,且頁面上的鏈接不可以被查詢;

  • 設(shè)定為index:文件將被檢索庶艾;

  • 設(shè)定為follow:頁面上的鏈接可以被查詢袁余;

  • 設(shè)定為noindex:文件將不被檢索,但頁面上的鏈接可以被查詢咱揍;

  • 設(shè)定為nofollow:文件將不被檢索颖榜,頁面上的鏈接可以被查詢。

http-equiv 的一般應(yīng)用

  • content-type(文檔內(nèi)容類型:用于設(shè)定文檔的類型和字符集)
  • expires(期限:可以用于設(shè)定網(wǎng)頁的到期期限)
  • pragma(cashe模式:即是否從緩存中訪問網(wǎng)頁內(nèi)容)
  • refresh(刷新:等待一定時間自動刷新或跳轉(zhuǎn)到其他url)
// 文檔類型
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

// 必須是 GMT 格式
<meta http-equiv="expires" content="Fri,12 Jan 2001 15:15:15 GMT">

// 是否設(shè)置緩存
<meta http-equiv="pragma" content="no-cache">

// 等待一定時間自動跳轉(zhuǎn)
<meta http-equiv="refresh" content="1; url=https://www.baidu.com"/>

<meta>標(biāo)簽中在移動端的使用

  • name屬性的viewport的值(移動端屏幕的縮放)
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
  • name屬性的format-detection值煤裙。

我們可以通過這個屬性禁止自動識別電話和郵箱掩完。舉例如下:

<meta name="format-detection" content="telephone=no,email=no"/>
  • name屬性的apple-mobile-web-app-capable值(網(wǎng)站開啟對web app程序的支持)
<meta name="app-mobile-web-app-capable" content="yes"/>
  • name屬性的apple-mobile-web-app-status-bar-style值(改變頂部狀態(tài)條的顏色)
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>

瀏覽器緩存機制

瀏覽器是如何判斷緩存是否過期?

  • 應(yīng)該是根據(jù)Response Header里面的Cache-Control和Expires這兩個屬性硼砰,當(dāng)兩個都存在時且蓬,Cache-Control優(yōu)先級較高。

瀏覽器緩存分為:強緩存和協(xié)商緩存题翰。

  • 1恶阴、==強緩存==:瀏覽器加載資源時,第一步先判斷它是否是強緩存豹障,如果是冯事,瀏覽器將直接從自己的緩存中讀取,不會向服務(wù)器發(fā)送請求血公。
    上圖昵仅,status200,Size是from memory cache就是走的強緩存累魔。那么什么是強緩存呢摔笤?瀏覽器又是咋判斷的呢?

    • ==Expires字段==:

      • 1薛夜、瀏覽器第一次向服務(wù)器請求籍茧,服務(wù)器返回資源并在response header加上Expires字段,是客戶端緩存有效期梯澜,是絕對時間寞冯。
      • 2渴析、瀏覽器接收資源,把資源和相應(yīng)頭緩存起來吮龄。
      • 3俭茧、待到再次請求這個資源時,先在緩存中找漓帚,找到了看Expires字段母债,判斷是否過期。若沒過期直接從緩存加載尝抖。若過期了毡们,再向服務(wù)器請求。
    • ==Cache-Control字段==:

      • 1昧辽、瀏覽器第一次向服務(wù)器請求衙熔,服務(wù)器返回資源并在response header加上Cache-Control字段,也是緩存的有效期搅荞,但是是相對時間红氯,比如:Cache-Control:max-age=56700000。
      • 2咕痛、瀏覽器接收資源痢甘,把資源和相應(yīng)頭緩存下來。
      • 3茉贡、待到瀏覽器再次請求這個資源時塞栅,先在緩存找,根據(jù)第一次的請求時間和Cache-Control相對時間算出過期時間块仆。若沒過期构蹬,直接從緩存加載王暗。若過期了悔据,再向服務(wù)器請求。

==Expires字段==但是絕對時間有時會有偏差俗壹,所以引出了==Cache-Control==科汗。
==Cache-Control==彌補了==Expires==的不足,更安全有效绷雏。

服務(wù)端如何判斷緩存已失效头滔?

  • 服務(wù)端通過If-Modified-Since(Last-Modified)和If-None-Match(Etag)這兩個屬性的值來判斷緩存是否失效的。

  • 2涎显、==協(xié)商緩存==:當(dāng)瀏覽器判斷不是強緩存坤检,就會發(fā)向服務(wù)器發(fā)請求,判斷是否是協(xié)商緩存期吓。如果是早歇,服務(wù)器會返回304Not Modified,瀏覽器從緩存中加載。那什么又是協(xié)商緩存呢箭跳?

    • ==Last-Modified==和==If-Modified-Since==字段:

      • 1晨另、瀏覽器第一次向服務(wù)器發(fā)請求,服務(wù)器返回資源并在response header加上Last-Modified字段谱姓,表示資源最后修改的時間借尿。
      • 2、瀏覽器再次請求這個資源時屉来,請求頭會加上If-Modified-Since字段路翻。若這兩個字段一樣,說明資源沒有修改過茄靠,返回304Not Modified帚桩,瀏覽器從緩存中獲取資源。若這兩個字段不一樣嘹黔,說明資源修改過账嚎,服務(wù)器正常返回資源。
    • ==ETag儡蔓、If-None-Match==:

      • 但有時候服務(wù)器上資源有變化郭蕉,單最后修改時間沒更新,則引出下面兩個字段喂江。
      • 1召锈、瀏覽器第一次向服務(wù)器請求,服務(wù)器返回資源并在response header上加ETag字段获询。表示資源本身涨岁,資源有變化,則該字段有變化吉嚣。
      • 2梢薪、瀏覽器再次向服務(wù)器請求這個資源時,請求頭攜帶If-None-Match字段尝哆。若這兩個字段相同秉撇,則代表資源沒有變化,服務(wù)器返回304Not Modified秋泄,瀏覽器從緩存中加載琐馆。若兩個字段不同,證明資源有變動恒序,服務(wù)器正常返回資源瘦麸。

引用 :

1 https://www.cnblogs.com/zhuzhenwei918/p/6028414.html

2 https://segmentfault.com/a/1190000012613216

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市歧胁,隨后出現(xiàn)的幾起案子滋饲,更是在濱河造成了極大的恐慌彤敛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件了赌,死亡現(xiàn)場離奇詭異墨榄,居然都是意外死亡,警方通過查閱死者的電腦和手機勿她,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門袄秩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逢并,你說我怎么就攤上這事之剧。” “怎么了砍聊?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵背稼,是天一觀的道長。 經(jīng)常有香客問我玻蝌,道長蟹肘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任俯树,我火速辦了婚禮帘腹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘许饿。我一直安慰自己阳欲,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布陋率。 她就那樣靜靜地躺著球化,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓦糟。 梳的紋絲不亂的頭發(fā)上筒愚,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音狸页,去河邊找鬼锨能。 笑死,一個胖子當(dāng)著我的面吹牛芍耘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播熄阻,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼斋竞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秃殉?” 一聲冷哼從身側(cè)響起坝初,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤浸剩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鳄袍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绢要,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年拗小,在試婚紗的時候發(fā)現(xiàn)自己被綠了重罪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡哀九,死狀恐怖剿配,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阅束,我是刑警寧澤呼胚,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站息裸,受9級特大地震影響蝇更,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呼盆,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一簿寂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宿亡,春花似錦常遂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至圈匆,卻和暖如春漠另,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跃赚。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工笆搓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纬傲。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓满败,卻偏偏與公主長得像,于是被迫代替她去往敵國和親叹括。 傳聞我的和親對象是個殘疾皇子算墨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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