成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

瀏覽器緩存

sixgo / 418人閱讀

摘要:服務(wù)器通過這兩個(gè)首部字段告知客戶端資源的緩存過期時(shí)間和緩存最大生命周期??蛻舳说弥Y源的緩存過期時(shí)間和最大生命周期后,即可自行判斷是否可不建立與服務(wù)器的鏈接,直接從瀏覽器緩存中獲取資源。

瀏覽器緩存
瀏覽器緩存分為強(qiáng)緩存和協(xié)商緩存

強(qiáng)緩存

客戶端第一次問服務(wù)器要某個(gè)資源時(shí),服務(wù)器丟還給客戶端所請(qǐng)求的這個(gè)資源的同時(shí),告訴客戶端將這個(gè)資源保存在本地,并且在未來的某個(gè)時(shí)點(diǎn)之前如果還需要這個(gè)資源,直接從本地獲取就可以,不用向服務(wù)器請(qǐng)求,這種方式緩存下來的資源稱為強(qiáng)緩存。

強(qiáng)緩存利用http的返回頭部中的Expires(實(shí)體首部字段)或者Cache-Control(通用首部字段)兩個(gè)字段來控制,用來表示資源的緩存時(shí)間。

服務(wù)器通過這兩個(gè)首部字段告知客戶端資源的緩存過期時(shí)間和緩存最大生命周期。

客戶端得知資源的緩存過期時(shí)間和最大生命周期后,即可自行判斷是否可不建立與服務(wù)器的鏈接,直接從瀏覽器緩存中獲取資源。

注:命中強(qiáng)緩存時(shí),瀏覽器同樣會(huì)收到status=200的respones,chrome中可通過size區(qū)分從服務(wù)器返回的資源還是強(qiáng)緩存獲得的資源。

(1). Expires(http1.0的規(guī)范)

其值為一個(gè)絕對(duì)時(shí)間的GMT格式的時(shí)間字符串,代表緩存資源的過期時(shí)間,在該時(shí)點(diǎn)之前,即為命中緩存。

缺點(diǎn):服務(wù)器返回的Expires時(shí)點(diǎn)是服務(wù)器上的時(shí)間,可能與客戶端有時(shí)間差,時(shí)間差太大可能造成緩存混亂

(2). Cache-Control:max-age(http1.1的規(guī)范)

強(qiáng)緩存利用其max-age值來判斷資源緩存的最大生命周期,它的值單位為秒。Cache-Control:max-age=3600代表資源有效時(shí)間為1小時(shí),即從第一次獲取該資源起一小時(shí)內(nèi)的請(qǐng)求都被認(rèn)為可命中強(qiáng)緩存。

注:Cache-Control描述的是相對(duì)時(shí)間,采用本地時(shí)間來計(jì)算資源的有效期,所以相比Expires更可靠

這兩個(gè)Header可以只用其一,也可以一起使用。一起使用時(shí)以Cache-Control為準(zhǔn)

協(xié)商緩存

客戶端第一次問服務(wù)器要某個(gè)資源時(shí),服務(wù)器丟給客戶端所請(qǐng)求的這個(gè)資源的同時(shí),將該資源的一些信息(文件摘要、或最后修改時(shí)間)也返回給客戶端,告訴客戶端將這個(gè)資源緩存在本地。當(dāng)客戶端下一次需要這個(gè)資源時(shí),將請(qǐng)求以及相關(guān)信息(文件摘要、或者最后修改時(shí)間)一并發(fā)送給服務(wù)器,由服務(wù)器來判斷客戶端緩存的資源是否需要更新:如不需要更新,就直接告訴客戶端獲取本地緩存資源;如需要更新,則將最新的資源連同相應(yīng)的信息一并返回給客戶端。

當(dāng)強(qiáng)緩存未命中時(shí),瀏覽器就會(huì)發(fā)送請(qǐng)求到服務(wù)器,服務(wù)器會(huì)驗(yàn)證協(xié)商緩存是否命中,如果協(xié)商緩存命中,請(qǐng)求返回的http狀態(tài)為304,并會(huì)顯示說明Not Modified,瀏覽器收到該返回后,就會(huì)從緩存中加載了。

協(xié)商緩存利用[Last-Modified , If-Modified-Since] 和 [ETag , If-None-Match]這兩對(duì)Header來管理。

(1). Last-Modified & If-Modified-Since

Last-Modified為實(shí)體首部字段,值為資源最后更新時(shí)間,隨服務(wù)器response返回。

If-Modified-Since為請(qǐng)求首部字段,通過比較兩個(gè)時(shí)間來判斷資源在兩次請(qǐng)求期間是否有過修改,如果沒有修改,則命中協(xié)商緩存,瀏覽器從緩存中獲取資源;如果有過修改,則服務(wù)器返回資源,同時(shí)返回新的Last-Modified時(shí)間

(2). ETag & If-None-Match

ETag為相應(yīng)頭部字段,表示資源內(nèi)容的唯一標(biāo)識(shí),隨服務(wù)器response返回

If-None-Match為請(qǐng)求頭部字段,服務(wù)器通過比較請(qǐng)求頭部的If-None-Match與當(dāng)前資源的ETag是否一致來判斷資源是否在兩次請(qǐng)求之間有過修改,如果沒有修改,則命中協(xié)商緩存,瀏覽器從緩存中獲取資源;如果有過修改,則服務(wù)器返回資源,同時(shí)返回新的ETag

協(xié)商緩存管理:

    [Last-Modified , If-Modified-Since]和[ETag , If-None-Match]一般同時(shí)啟用,這是為了處理Last-Modified不可靠的情況。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90358.html

相關(guān)文章

  • 深入剖析覽器緩存策略

    摘要:瀏覽器緩存只存在于每個(gè)單獨(dú)的客戶端,因此它是私有緩存。表示該資源既能被瀏覽器緩存,也能被任何中間人比如代理服務(wù)器等緩存。普通刷新會(huì)啟用協(xié)商緩存,忽略強(qiáng)緩存。只有在地址欄或收藏夾輸入網(wǎng)址通過鏈接引用資源等情況下,瀏覽器才會(huì)啟用強(qiáng)緩存。 前言 在訪問一個(gè)網(wǎng)頁時(shí),客戶端會(huì)從服務(wù)器下載所需的資源。但是有些資源很少發(fā)生變動(dòng),例如 HTML、JS、CSS、圖片、字體文件等。如果每次加載頁面都從源服...

    Cympros 評(píng)論0 收藏0
  • 覽器緩存機(jī)制

    摘要:從瀏覽器角度來看,整個(gè)就是一個(gè)源服務(wù)器,從這個(gè)層面來說,瀏覽器和服務(wù)器之間的緩存機(jī)制,在這種架構(gòu)下同樣適用。如果命中,則返回,告訴瀏覽器資源未更新,可使用本地的緩存。 緩存類型 緩存在宏觀上可以分成兩類:私有緩存和共享緩存。共享緩存就是那些能被各級(jí)代理緩存的緩存。私有緩存就是用戶專享的,各級(jí)代理不能緩存的緩存。 微觀上可以分下面幾類: 瀏覽器緩存 緩存存在的意義就是當(dāng)用戶點(diǎn)擊back按...

    LeanCloud 評(píng)論0 收藏0
  • 【前端基礎(chǔ)進(jìn)階】覽器緩存機(jī)制

    摘要:接下來的內(nèi)容中我們將通過緩存位置緩存策略以及實(shí)際場(chǎng)景應(yīng)用緩存策略來探討瀏覽器緩存機(jī)制。是運(yùn)行在瀏覽器背后的獨(dú)立線程,一般可以用來實(shí)現(xiàn)緩存功能。在所有瀏覽器緩存中,覆蓋面基本是最大的。 一、前言 緩存可以說是性能優(yōu)化中簡(jiǎn)單高效的一種優(yōu)化方式了。一個(gè)優(yōu)秀的緩存策略可以縮短網(wǎng)頁請(qǐng)求資源的距離,減少延遲,并且由于緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。對(duì)于一個(gè)數(shù)據(jù)請(qǐng)求來說,可以分為...

    Mertens 評(píng)論0 收藏0
  • 深入理解覽器緩存機(jī)制

    摘要:接下來的內(nèi)容中我們將通過緩存位置緩存策略以及實(shí)際場(chǎng)景應(yīng)用緩存策略來探討瀏覽器緩存機(jī)制。是運(yùn)行在瀏覽器背后的獨(dú)立線程,一般可以用來實(shí)現(xiàn)緩存功能。在所有瀏覽器緩存中,覆蓋面基本是最大的。 一、前言 緩存可以說是性能優(yōu)化中簡(jiǎn)單高效的一種優(yōu)化方式了。一個(gè)優(yōu)秀的緩存策略可以縮短網(wǎng)頁請(qǐng)求資源的距離,減少延遲,并且由于緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。 對(duì)于一個(gè)數(shù)據(jù)請(qǐng)求來說,可以分...

    binaryTree 評(píng)論0 收藏0
  • 深入理解覽器緩存機(jī)制

    摘要:接下來的內(nèi)容中我們將通過緩存位置緩存策略以及實(shí)際場(chǎng)景應(yīng)用緩存策略來探討瀏覽器緩存機(jī)制。是運(yùn)行在瀏覽器背后的獨(dú)立線程,一般可以用來實(shí)現(xiàn)緩存功能。在所有瀏覽器緩存中,覆蓋面基本是最大的。 一、前言 緩存可以說是性能優(yōu)化中簡(jiǎn)單高效的一種優(yōu)化方式了。一個(gè)優(yōu)秀的緩存策略可以縮短網(wǎng)頁請(qǐng)求資源的距離,減少延遲,并且由于緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。 對(duì)于一個(gè)數(shù)據(jù)請(qǐng)求來說,可以分...

    mikasa 評(píng)論0 收藏0
  • 深入理解覽器緩存機(jī)制

    摘要:接下來的內(nèi)容中我們將通過緩存位置緩存策略以及實(shí)際場(chǎng)景應(yīng)用緩存策略來探討瀏覽器緩存機(jī)制。是運(yùn)行在瀏覽器背后的獨(dú)立線程,一般可以用來實(shí)現(xiàn)緩存功能。在所有瀏覽器緩存中,覆蓋面基本是最大的。 一、前言 緩存可以說是性能優(yōu)化中簡(jiǎn)單高效的一種優(yōu)化方式了。一個(gè)優(yōu)秀的緩存策略可以縮短網(wǎng)頁請(qǐng)求資源的距離,減少延遲,并且由于緩存文件可以重復(fù)利用,還可以減少帶寬,降低網(wǎng)絡(luò)負(fù)荷。 對(duì)于一個(gè)數(shù)據(jù)請(qǐng)求來說,可以分...

    draveness 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<