最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1.簡(jiǎn)介

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

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

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

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

web緩存通常有以下分類:

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

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

2.瀏覽器緩存

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

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

對(duì)于瀏覽器緩存,有以下幾個(gè)關(guān)鍵點(diǎn):

  • 瀏覽器為什么要對(duì)資源進(jìn)行緩存
  • 瀏覽器獲取緩存的流程

1)瀏覽器為什么要對(duì)資源進(jìn)行緩存呢?

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

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

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

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

圖里面存在幾個(gè)header的定義:

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

了解流程之后,我們來(lái)具體演示一下。訪問(wèn)頁(yè)面:http://192.168.110.98/jquery.js

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

請(qǐng)求頭信息:

響應(yīng)頭信息:

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

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

??Tips:F5刷新頁(yè)面,會(huì)讓瀏覽器認(rèn)為緩存已過(guò)期,因此會(huì)走緩存已過(guò)期的流程。Ctrl+F5強(qiáng)制刷新頁(yè)面,會(huì)直接跳過(guò)瀏覽器緩存。

請(qǐng)求頭信息:

相比第一次訪問(wèn)時(shí),多了兩個(gè)header:If-Modified-Since、If-None-Match

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

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

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

主要的指令如下:

  • 作用域:http, server, location, if in location
  • 語(yǔ)法:expires [modified] time; expires epoch | max | off;
  • 默認(rèn)值expires off;

1)expires [modified] time;

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

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

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

location /jquery {
	gzip_types application/javascript;
	gzip_min_length 20;
	# 緩存過(guò)期時(shí)間10s
	expires 10;
	root   html;
}

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

2) expires epoch | max | off;

指令響應(yīng)頭說(shuō)明
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對(duì)瀏覽器緩存的配置,Nginx是多模塊化的,還有很多高級(jí)功能,我們后面繼續(xù)探索。

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

相關(guān)文章

  • Nginx正反向代理及負(fù)載均衡等功能實(shí)現(xiàn)配置代碼實(shí)例

    Nginx正反向代理及負(fù)載均衡等功能實(shí)現(xiàn)配置代碼實(shí)例

    這篇文章主要介紹了Nginx正反向代理及負(fù)載均衡等功能實(shí)現(xiàn)配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)

    nginx反向代理二級(jí)域名綁定方法及注意事項(xiàng)

    本文介紹了利用nginx實(shí)現(xiàn)多域名和多站點(diǎn)的綁定的方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • 解決502?Bad?Gateway錯(cuò)誤的詳細(xì)指南與實(shí)例

    解決502?Bad?Gateway錯(cuò)誤的詳細(xì)指南與實(shí)例

    這篇文章主要給大家介紹了關(guān)于解決502?Bad?Gateway錯(cuò)誤的詳細(xì)指南與實(shí)例,502 Bad Gateway錯(cuò)誤通常是由于網(wǎng)關(guān)或代理服務(wù)器在嘗試訪問(wèn)上游服務(wù)器(通常是Web服務(wù)器)時(shí)未能及時(shí)接收到響應(yīng)導(dǎo)致的,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • Django+Nginx+uwsgi服務(wù)器部署

    Django+Nginx+uwsgi服務(wù)器部署

    這篇文章介紹了Django+Nginx+uwsgi服務(wù)器部署的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Nginx動(dòng)態(tài)配置upstream的使用小結(jié)

    Nginx動(dòng)態(tài)配置upstream的使用小結(jié)

    本文深入探討了Nginx動(dòng)態(tài)配置upstream的多種方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12
  • Linux版本中Nginx平滑升級(jí)與回退

    Linux版本中Nginx平滑升級(jí)與回退

    這篇文章主要介紹了Linux中的Nginx平滑升級(jí)與回退,詳細(xì)介紹了平滑升級(jí)概念和思路講解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • 詳解nginx安裝過(guò)程并代理下載服務(wù)器文件

    詳解nginx安裝過(guò)程并代理下載服務(wù)器文件

    Nginx是一款輕量級(jí)的web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like?協(xié)議下發(fā)行,這篇文章主要介紹了詳解nginx安裝過(guò)程并代理下載服務(wù)器文件,需要的朋友可以參考下
    2022-02-02
  • 一些可能是你極易忽略的Nginx知識(shí)點(diǎn)總結(jié)

    一些可能是你極易忽略的Nginx知識(shí)點(diǎn)總結(jié)

    無(wú)論是運(yùn)維、開(kāi)發(fā)、測(cè)試,Nginx技術(shù)棧的學(xué)習(xí)是必不可少的,只是不同的崗位掌握的深度與廣度不同而已,這篇文章主要介紹了一些可能是你極易忽略的Nginx知識(shí)點(diǎn),需要的朋友可以參考下
    2026-06-06
  • Nginx反向代理實(shí)現(xiàn)支持長(zhǎng)連接詳解

    Nginx反向代理實(shí)現(xiàn)支持長(zhǎng)連接詳解

    這篇文章主要給大家介紹了關(guān)于Nginx反向代理實(shí)現(xiàn)支持長(zhǎng)連接的相關(guān)資料,文字介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • Nginx顯示500錯(cuò)誤的原因以及解決方法

    Nginx顯示500錯(cuò)誤的原因以及解決方法

    nginx出現(xiàn)500錯(cuò)誤,不會(huì)顯示具體錯(cuò)誤信息,要到日志文件里面去看,下面這篇文章主要給大家介紹了關(guān)于Nginx顯示500錯(cuò)誤的原因以及解決方法的相關(guān)資料,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

渭南市| 新巴尔虎左旗| 鄱阳县| 牙克石市| 全州县| 宣城市| 莱芜市| 乐山市| 桦川县| 林甸县| 香河县| 正安县| 鄱阳县| 南开区| 溧阳市| 庄浪县| 延津县| 杭锦后旗| 南澳县| 井陉县| 徐闻县| 剑阁县| 尚志市| 金堂县| 东乡族自治县| 普格县| 任丘市| 广丰县| 庄河市| 合江县| 西青区| 昌黎县| 麻栗坡县| 喀喇沁旗| 屏南县| 武强县| 顺昌县| 济南市| 绥阳县| 林西县| 霞浦县|