国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Web緩存優化的進階認知

miguel.jiang / 1795人閱讀

摘要:可緩存優化并不是所有資源都是可以被緩存的。影響緩存的因素主要有請求方法,請求參數設置以及狀態碼。可緩存的有消極緩存的狀態碼不可緩存的狀態碼緩存中的生命周期是指對象相鄰兩次修改的時間。此時該對象是不可緩存對象添加字段可以增長對象生命周期。

一般情況下,網站在第二次加載時,加載時間會大大被提升,這是因為網頁中的一些資源被客戶端緩存下來了,網頁在二次加載的時候就不需要重新從遠處服務器請求資源,而是直接應用客戶端緩存好的數據。

扯遠了···


Web緩存優化是一種提高現有系統利用率的方式,是處于用戶和Web服務器之間的信息緩沖機制,基本思想是:利用了Web頁面訪問的時間的局部性,把用戶經常訪問的信息放到用戶的附近或本地,以便用戶后續訪問能從客戶端和本地服務器獲取信息,不必訪問遠程服務器。Web緩存通過信息的本地化來加快網頁瀏覽速度,在一定程度上節省網絡帶寬,減少服務器負荷。

由緩存實現的位置不同可以將Web緩存分為三類,即客戶端緩存代理緩存服務器端緩存。客戶端緩存主要在客戶機瀏覽器端實現,將用戶請求的數據緩存在本地,這種方法響應時間最短,但是不能被局域網所共享;代理緩存指代理服務器緩存,代理服務器位于客戶端與服務器之間,代理服務器在接到用戶請求時,將緩存信息返回給用戶,如果請求信息不在緩存中,則請求遠程服務器,代理緩存的優點是可以被局域網共享;服務器緩存指將服務器端動態數據緩存給客戶端使用。

可緩存優化

并不是所有Web資源都是可以被緩存的。那么從客戶端優化角度,提高Web資源的可緩存話就會提高客戶端的性能。

影響Web緩存的因素主要有HTTP請求方法,請求參數設置以及HTTP狀態碼。HTTP/1.1規定Web請求方法有GET、HEAD、POST、DELETE、OPTION、CONNECT和TRACE八種,只有GET與POST請求是可緩存的。

根據HTTP狀態碼可將Web對象緩存性分為三種。可緩存的有:200、203、300、301、401;消極緩存的HTTP狀態碼:204、305、400、403、404、405、414、500、502、504;不可緩存的HTTP狀態碼:100、101、201、202、205、206、302、303、304、307、401、402、406、407、408、409、411、412、413、415、501、505.

Web緩存中的生命周期是指Web對象相鄰兩次修改的時間。HTTP中對Web生命周期進行描述的參數有Expireslast modified等,大部分時候靠last modified參數來判斷Web對象的生命周期。當某一Web資源進行修改后,Web緩存服務器中并沒有進行相應的修改,這時候用戶請求該資源并訪問Web對象是否包含Expires字段,如果包含則進行校驗,符合則返回當前資源,如果不包含該字段,Web緩存服務器會向遠程服務器發起GET-If-modified請求,并發送當前last modified字段,如果響應不包含last modified字段,則使用當前last modified值。

不可緩存Web對象的HTTP參數設置
不可緩存HTTP頭部信息 不可緩存HTTP頭部信息參數含義
缺少 last modified 參數的對應信息 last modified time 指出服務器認出Web對象被修改的最后日期和時間,即若對象在 last modified time 值域以后被修改過,則該對象是不可緩存的。若服務器的返回值是304 not modified,則對象可被緩存
設置 set cookie 當緩存控制信息 cache-control 被設置為“不可緩存”或是“私有”時,該對象是不可緩存的
設置 Pragma:no-cache 當頭部信息中有此設置時,服務器禁止請求從緩存響應。此時該對象是不可緩存的
設置 authorization 當返回的頭部信息中包含個人信息時,緩存對象的效率很低。此時該對象是不可緩存對象

添加Expires字段可以增長Web對象生命周期。Expires字段告訴Web客戶端,在指定的時間之前都可以使用現有的Web對象,不需要重新下載。假如在HTTP響應中出現這樣的Expires:

expires:Sat, 03 Sep 2016 14:33:39 GMT

這個字段告訴瀏覽器,該資源的生命周期可以持續到2016年9月3日。如果Web網頁中某一段資源返回了這個頭,那么瀏覽器在以后加載這個頁面時,會使用緩存中的本地資源,用戶在二次訪問的時候就節省了下載時間。

Nginx給靜態資源添加Expires頭

打開Nginx的站點配置文件,這里考慮給圖片資源添加30天的有效期,給css和js添加7天有效期,也給字體資源添加30天的有效期。

server{}里添加下面代碼:

location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    expires 30d;
    access_log off;
}

location ~ .*.(js|css)?$ {
    expires 7d;
    access_log off;
}

location ~ .*.(eot|ttf|otf|woff|svg)$ {
    expires 30d;
    access_log off;
}
其他

實踐的東西不多,另外再次對網站進行一次提速,過幾天就開始對服務器進行升級,希望會更大的訪問速度的提升。這篇文章寫得好累啊!

文章首發于:https://www.linpx.com

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39321.html

相關文章

  • Web緩存優化進階認知

    摘要:可緩存優化并不是所有資源都是可以被緩存的。影響緩存的因素主要有請求方法,請求參數設置以及狀態碼。可緩存的有消極緩存的狀態碼不可緩存的狀態碼緩存中的生命周期是指對象相鄰兩次修改的時間。此時該對象是不可緩存對象添加字段可以增長對象生命周期。 一般情況下,網站在第二次加載時,加載時間會大大被提升,這是因為網頁中的一些資源被客戶端緩存下來了,網頁在二次加載的時候就不需要重新從遠處服務器請求資源...

    nemo 評論0 收藏0
  • 進階Java架構師必看15本書

    摘要:阿里巴巴的共享服務理念以及企業級互聯網架構建設的思路,給這些企業帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。盡在雙阿里巴巴技術演進與超越是迄今唯一由阿里巴巴集團官方出品全面闡述雙八年以來在技術和商業上演進和創新歷程的書籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網站技術架構:核...

    Julylovin 評論0 收藏0
  • 實踐解析:大眾點評賬號業務高可用進階之路

    摘要:需要監控的維度有登錄總數成功數失敗分類用戶地區版本號瀏覽器類型登錄來源服務所在機房等等。 引言在任何一家互聯網公司,不管其主營業務是什么,都會有一套自己的賬號體系。賬號既是公司所有業務發展留下的最寶貴資產,它可以用來衡量業務指標,例如日活、月活、留存等,同時也給不同業務線提供了大量潛在用戶,業務可以基于賬號來做用戶畫像,制定各自的發展路徑。因此,賬號服務的重要性不言而喻,同時美團業務飛速發展...

    Guakin_Huang 評論0 收藏0
  • PHP 進階之路 - 億級 pv 網站架構實戰之性能壓榨

    摘要:業務和架構不分家,架構是建立在對業務的理解之上的。主鍵最好保持順序遞增,隨機主鍵會導致聚簇索引樹頻繁分裂,隨機增多,數據離散,性能下降。沒有索引的更新,可能會導致全表數據都被鎖住。 本博客并非全部原創,其實是一個知識的歸納和匯總,里面我引用了很多網上、書上的內容。也給出了相關的鏈接。 本文涉及的知識點比較多,大家可以根據關鍵字去搜索相關的內容和購買相應的書籍進行系統的學習。不對的地方...

    SnaiLiu 評論0 收藏0
  • 前端優化 - 收藏集 - 掘金

    摘要:雖然有著各種各樣的不同,但是相同的是,他們前端優化不完全指南前端掘金篇幅可能有點長,我想先聊一聊閱讀的方式,我希望你閱讀的時候,能夠把我當作你的競爭對手,你的夢想是超越我。 如何提升頁面渲染效率 - 前端 - 掘金Web頁面的性能 我們每天都會瀏覽很多的Web頁面,使用很多基于Web的應用。這些站點看起來既不一樣,用途也都各有不同,有在線視頻,Social Media,新聞,郵件客戶端...

    VincentFF 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<