欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Nginx配置瀏覽器緩存,頁面展示更快一步

 更新時間:2024年01月25日 10:51:32   作者:fkjavaer  
這篇文章主要介紹了使用Nginx配置瀏覽器緩存,頁面展示更快一步問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1.簡介

緩存能夠存儲請求的響應(yīng)結(jié)果,可以很方便的再次訪問,使用緩存的優(yōu)點是很明顯的。

  • 加速內(nèi)容的訪問,降低響應(yīng)時間
  • 減少服務(wù)器的負載

Nginx不僅僅是一個web服務(wù)器,它也是一個web緩存服務(wù)器。

通過Nginx緩存,我們對一些靜態(tài)資源或者更新頻率低的數(shù)據(jù)做緩存,降低請求的響應(yīng)時間,同時也能降低服務(wù)器的負載,一舉多得。

web緩存通常有以下分類:

  • 客戶端緩存(瀏覽器緩存等)
  • 服務(wù)器緩存(Nginx緩存、Redis緩存等)

我們將著重介紹 瀏覽器緩存。

2.瀏覽器緩存

B/S架構(gòu)是一種很流行的軟件架構(gòu),瀏覽器在這種架構(gòu)中扮演著極其重要的角色。

在使用瀏覽器的過程中,要刷新頁面,可以使用快捷鍵F5刷新,這個時候有些小伙伴可能會遇到頁面信息并沒有刷新的情況,這就是瀏覽器緩存在“作祟”,這個時候我們需要強制刷新(Ctrl + F5),才能夠越過瀏覽器緩存獲取最新的數(shù)據(jù)。

對于瀏覽器緩存,有以下幾個關(guān)鍵點:

  • 瀏覽器為什么要對資源進行緩存
  • 瀏覽器獲取緩存的流程

1)瀏覽器為什么要對資源進行緩存呢?

為了節(jié)約網(wǎng)絡(luò)資源,加速訪問,瀏覽器會在用戶磁盤上對最近訪問的頁面的資源進行存儲,當(dāng)再次訪問該頁面時,瀏覽器就可以從磁盤緩存中加載這些資源,避免頻繁向服務(wù)器發(fā)起請求,這樣可以加速頁面的展示,并降低服務(wù)器的負載。

2)瀏覽器獲取緩存的流程

既然瀏覽器可以將頁面的資源緩存到本地磁盤,那么瀏覽器又是怎么去加載這些緩存資源的呢?

下面這張圖就是具體流程:

圖里面存在幾個header的定義:

header示例說明
Etag“6459ce31-15499”資源的哈希碼
Last-ModifiedTue, 09 May 2023 04:38:09 GMT用于表示資源最后修改時間
If-None-Match“6459ce31-15499”將當(dāng)前資源的哈希碼發(fā)送給服務(wù)器進行匹配
If-Modified-SinceTue, 09 May 2023 04:38:09 GMT將當(dāng)前資源的最后修改時間發(fā)送給服務(wù)器進行匹配

了解流程之后,我們來具體演示一下。訪問頁面:http://192.168.110.98/jquery.js

1)第一次訪問,沒有緩存,響應(yīng)狀態(tài)碼:200,資源大小87.5kb

請求頭信息:

響應(yīng)頭信息:

2)新建標(biāo)簽頁訪問,響應(yīng)狀態(tài)碼:200,資源來自disk cache,說明是直接加載的磁盤緩存

3)F5刷新頁面,狀態(tài)304,資源大小182B,說明會向web服務(wù)器發(fā)送請求,服務(wù)器響應(yīng)304,因此瀏覽器去磁盤緩存加載資源。

??Tips:F5刷新頁面,會讓瀏覽器認為緩存已過期,因此會走緩存已過期的流程。Ctrl+F5強制刷新頁面,會直接跳過瀏覽器緩存。

請求頭信息:

相比第一次訪問時,多了兩個header:If-Modified-Since、If-None-Match

3)Nginx對瀏覽器緩存的配置

前面,在看瀏覽器獲取緩存的流程時,有一步是 請求響應(yīng),緩存協(xié)商,這就涉及到nginx的一些配置指令。

ngx_http_headers_module模塊中,該模塊可以將ExpiresCache-Control添加到響應(yīng)頭中,供瀏覽器使用,我們可以對其進行配置。

主要的指令如下:

  • 作用域:http, server, location, if in location
  • 語法:expires [modified] time; expires epoch | max | off;
  • 默認值expires off;

1)expires [modified] time;

time可以為正數(shù),也可以為負數(shù),默認單位為秒。

  • 如果為負數(shù),則響應(yīng)為:Cache-Control:no-cache,即不緩存
  • 如果為正數(shù)或0,則響應(yīng)為:Cache-Control:max-age=time

示例:設(shè)置緩存過期時間10s

location /jquery {
	gzip_types application/javascript;
	gzip_min_length 20;
	# 緩存過期時間10s
	expires 10;
	root   html;
}

發(fā)送請求,查看結(jié)果,和預(yù)期保持一致。Date和Expires的時間也是相差10s。

2) expires epoch | max | off;

指令響應(yīng)頭說明
expires epochExpires:Thu, 01 Jan 1970 00:00:01 GMTCache_Control:no-cache不緩存
expires maxExpires:Thu, 31 Dec 2037 23:55:55 GMTmax-age=315360000緩存10年
expires off響應(yīng)頭不添加Expires和Cache-Control

總結(jié)

以上就是Nginx對瀏覽器緩存的配置,Nginx是多模塊化的,還有很多高級功能,我們后面繼續(xù)探索。

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx配置后請求報404的幾種問題解決方法

    Nginx配置后請求報404的幾種問題解決方法

    本文主要介紹了Nginx配置后請求報404的兩種常見問題及其解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • kubernetes啟用PHP+Nginx網(wǎng)頁環(huán)境教程

    kubernetes啟用PHP+Nginx網(wǎng)頁環(huán)境教程

    這篇文章主要介紹了kubernetes啟用PHP+Nginx網(wǎng)頁環(huán)境教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • nginx配置location方法總結(jié)

    nginx配置location方法總結(jié)

    這篇文章主要介紹了nginx配置location方法總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • NGINX配置目錄遍歷漏洞的解決

    NGINX配置目錄遍歷漏洞的解決

    目錄遍歷是一種安全漏洞,通常會影響Nginx服務(wù)器上的Web應(yīng)用程序,本文就來介紹一下NGINX配置目錄遍歷漏洞的解決,感興趣的可以了解一下
    2023-10-10
  • Nginx和GeoIP模塊讀取IP所在的地域信息方法

    Nginx和GeoIP模塊讀取IP所在的地域信息方法

    今天小編就為大家分享一篇Nginx和GeoIP模塊讀取IP所在的地域信息方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Nginx防盜鏈根據(jù)UA屏蔽惡意User Agent請求(防蜘蛛)

    Nginx防盜鏈根據(jù)UA屏蔽惡意User Agent請求(防蜘蛛)

    相對于 Apache,Nginx 占用的系統(tǒng)資源更少,更適合 VPS 使用。惡意盜鏈的 User Agent 無處不在,博客更換到 WordPress 沒幾天,就被 SPAM(垃圾留言)盯上,又被暴力破解后臺用戶名密碼。今天來介紹 Nginx 屏蔽惡意 User Agent請求的方法
    2016-07-07
  • Nginx?Rewrite及Location的使用與區(qū)別

    Nginx?Rewrite及Location的使用與區(qū)別

    rewrite和location的功能有點相像,都能實現(xiàn)跳轉(zhuǎn),本文主要介紹了Nginx?Rewrite及Location的使用與區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • 利用nginx解決cookie跨域訪問的方法

    利用nginx解決cookie跨域訪問的方法

    本篇文章主要介紹了利用nginx解決cookie跨域訪問的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Nginx為靜態(tài)資源配置緩存時間的操作步驟

    Nginx為靜態(tài)資源配置緩存時間的操作步驟

    最近在優(yōu)化網(wǎng)站性能時,發(fā)現(xiàn)很多靜態(tài)資源(比如圖片、CSS?文件等)每次都會從服務(wù)器重新加載,這不僅浪費了帶寬,還增加了 服務(wù)器的負載,為了解決這個問題,我研究了一下如何在?Nginx?中為靜態(tài)資源配置緩存時間,下面是我的配置過程,需要的朋友可以參考下
    2025-02-02
  • Nginx開啟Gzip壓縮大幅提高頁面加載速度的方法

    Nginx開啟Gzip壓縮大幅提高頁面加載速度的方法

    這篇文章主要介紹了Nginx開啟Gzip壓縮大幅提高頁面加載速度的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08

最新評論