国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

70 # 協(xié)商緩存的配置:通過(guò)修改時(shí)間

這篇具有很好參考價(jià)值的文章主要介紹了70 # 協(xié)商緩存的配置:通過(guò)修改時(shí)間。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

對(duì)比(協(xié)商)緩存

比較一下再去決定是用緩存還是重新獲取數(shù)據(jù),這樣會(huì)減少網(wǎng)絡(luò)請(qǐng)求,提高性能。

對(duì)比緩存的工作原理

客戶端第一次請(qǐng)求服務(wù)器的時(shí)候,服務(wù)器會(huì)把數(shù)據(jù)進(jìn)行緩存,同時(shí)會(huì)生成一個(gè)緩存標(biāo)識(shí)符,這個(gè)緩存標(biāo)識(shí)符會(huì)被發(fā)送到客戶端,客戶端第二次請(qǐng)求服務(wù)器的時(shí)候,會(huì)把緩存標(biāo)識(shí)符發(fā)送到服務(wù)器,服務(wù)器會(huì)根據(jù)緩存標(biāo)識(shí)符進(jìn)行判斷,如果緩存標(biāo)識(shí)符相同,則服務(wù)器會(huì)判斷緩存是否過(guò)期,如果沒(méi)有過(guò)期,則服務(wù)器會(huì)返回 304,告訴客戶端使用緩存,如果緩存標(biāo)識(shí)符不同,則服務(wù)器會(huì)返回 200,同時(shí)返回新的數(shù)據(jù)。

  • 客戶端:if-modified-since
  • 服務(wù)端:Last-Modified 對(duì)比最后的修改時(shí)間返回內(nèi)容

缺點(diǎn)是內(nèi)容沒(méi)變化修改時(shí)間變化了也會(huì)重新讀取內(nèi)容,時(shí)間不精確,(精確到秒),如果一秒內(nèi)改了多次也監(jiān)控不到。

下面我們通過(guò)判斷文件的修改時(shí)間是否對(duì)的上,一樣的話直接返回 304 告訴讀取緩存

新建 cache.js 文件

const http = require("http");
const fs = require("fs");
const path = require("path");
const url = require("url");

const server = http.createServer((req, res) => {
    const { pathname } = url.parse(req.url);
    const filePath = path.join(__dirname, pathname);
    console.log(pathname);
    res.setHeader("Cache-Control", "no-cache");
    // 第二次請(qǐng)求會(huì)帶上 if-modified-since 請(qǐng)求頭
    let ifModifiedSince = req.headers["if-modified-since"];
    fs.stat(filePath, (err, statObj) => {
        if (err) return res.end();
        let lastModified = statObj.ctime.toGMTString();
        // 判斷文件的修改時(shí)間是否對(duì)的上,一樣的話直接返回 304 告訴讀取緩存
        if (ifModifiedSince && lastModified === ifModifiedSince) {
            res.statusCode = 304;
            return res.end();
        }
        res.setHeader("Last-Modified", lastModified);
        if (err) return (res.statusCode = 404), res.end("Not Found");
        // 判斷是否是文件
        if (statObj.isFile()) {
            fs.createReadStream(filePath).pipe(res);
        } else {
            res.statusCode = 404;
            res.end("Not Found");
        }
    });
});
server.listen(5000);

然后新建 public 文件夾,里面添加 index.htmlstyle.css

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>凱小默測(cè)試對(duì)比緩存:通過(guò)修改時(shí)間</title>
</head>

<body>
    <link rel="stylesheet" href="/public/style.css">
</body>

</html>
body {
    background-color: seagreen;
}

我們啟動(dòng)服務(wù),訪問(wèn) http://127.0.0.1:5000/public/index.html,可以看到第二次請(qǐng)求的資源變成了 304

nodemon cache.js

70 # 協(xié)商緩存的配置:通過(guò)修改時(shí)間,Node / Node 框架,前端工程架構(gòu),緩存,對(duì)比緩存,協(xié)商緩存

70 # 協(xié)商緩存的配置:通過(guò)修改時(shí)間,Node / Node 框架,前端工程架構(gòu),緩存,對(duì)比緩存,協(xié)商緩存
我們修改 style.css 文件,背景改成 pink,然后刷新訪問(wèn),我們可以看到狀態(tài)碼變成 200,讀取到了新的資源

body {
    background-color: pink;
}

70 # 協(xié)商緩存的配置:通過(guò)修改時(shí)間,Node / Node 框架,前端工程架構(gòu),緩存,對(duì)比緩存,協(xié)商緩存文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-661663.html

到了這里,關(guān)于70 # 協(xié)商緩存的配置:通過(guò)修改時(shí)間的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • window環(huán)境下安裝Node并修改保存緩存的位置

    window環(huán)境下安裝Node并修改保存緩存的位置

    打開(kāi)cmd命令行窗口 輸入: 然后在控制面版中卸載node 點(diǎn)擊官網(wǎng)下載 如一臺(tái)電腦需要多個(gè)node環(huán)境 可使用nvm命令進(jìn)行操作安裝并且可以切換 安裝成功之后, 可在cmd 中輸入是否安裝成功,如下 如果不是上述內(nèi)容 ,就需要配置環(huán)境變量 我的電腦 右擊點(diǎn)擊屬性 高級(jí)環(huán)境配置 系統(tǒng)

    2024年02月16日
    瀏覽(18)
  • http緩存?強(qiáng)制緩存和協(xié)商緩存?

    HTTP緩存是一種優(yōu)化網(wǎng)絡(luò)資源加載速度的技術(shù),通過(guò)減少?gòu)姆?wù)器獲取相同資源的次數(shù)來(lái)實(shí)現(xiàn)。HTTP緩存機(jī)制包括強(qiáng)制緩存和協(xié)商緩存(對(duì)比緩存)兩種類型。 強(qiáng)制緩存 強(qiáng)制緩存是指瀏覽器在接收到服務(wù)器返回的響應(yīng)后,會(huì)將響應(yīng)內(nèi)容和相關(guān)緩存信息(如Expires和Cache-Control)保

    2024年02月22日
    瀏覽(19)
  • 瀏覽器緩存(強(qiáng)緩存、協(xié)商緩存)

    這一點(diǎn)主要解析瀏覽器緩存以及緩存機(jī)制的詳細(xì)過(guò)程。 與緩存相關(guān)的狀態(tài)碼: 200 ok?? ?從瀏覽器下載的最新資源 200 (from memory cache)?? ?不進(jìn)行http請(qǐng)求,直接從瀏覽器內(nèi)存中讀取的資源,頁(yè)面關(guān)閉,則資源釋放,一般一些腳本、圖片、文字等會(huì)存在內(nèi)存中 200 (from disk cache)?

    2024年04月17日
    瀏覽(53)
  • 強(qiáng)緩存與協(xié)商緩存

    強(qiáng)緩存與協(xié)商緩存

    為了減少資源請(qǐng)求次數(shù),加快資源訪問(wèn)速度,瀏覽器對(duì)資源文件如圖片、css文件、js文件等有一個(gè)緩存功能。而瀏覽器緩存策略又分為強(qiáng)緩存和協(xié)商緩存 所謂強(qiáng)緩存可以理解為強(qiáng)制緩存的意思,即瀏覽器在訪問(wèn)某個(gè)資源時(shí)會(huì)判斷是否使用本地緩存理已經(jīng)存在的資源文件,使用

    2024年02月07日
    瀏覽(20)
  • 強(qiáng)緩存和協(xié)商緩存

    強(qiáng)緩存和協(xié)商緩存

    強(qiáng)緩存和協(xié)商緩存 緩存分為強(qiáng)緩存和協(xié)商緩存。強(qiáng)緩存不過(guò)服務(wù)器,協(xié)商緩存需要過(guò)服務(wù)器,協(xié)商緩存返回的狀態(tài)碼是304。兩類緩存機(jī)制可以同時(shí)存在,強(qiáng)緩存的優(yōu)先級(jí)高于協(xié)商緩存。當(dāng)執(zhí)行強(qiáng)緩存時(shí),如若緩存命中,則直接使用緩存數(shù)據(jù)庫(kù)中的數(shù)據(jù),不再進(jìn)行緩存協(xié)商。

    2024年02月07日
    瀏覽(16)
  • HTTP 緩存機(jī)制——強(qiáng)制緩存和協(xié)商緩存

    HTTP 緩存機(jī)制——強(qiáng)制緩存和協(xié)商緩存

    對(duì)于一些具有重復(fù)性的 HTTP 請(qǐng)求,比如每次請(qǐng)求得到的數(shù)據(jù)都一樣的,我們可以把這對(duì)「請(qǐng)求-響應(yīng)」的數(shù)據(jù)都緩存在本地,那么下次就直接讀取本地的數(shù)據(jù),不必在通過(guò)網(wǎng)絡(luò)獲取服務(wù)器的響應(yīng)了 HTTP 緩存有兩種實(shí)現(xiàn)方式,分別是強(qiáng)制緩存和協(xié)商緩存。 強(qiáng)緩存指的是只要瀏覽

    2024年01月25日
    瀏覽(28)
  • HTTP的緩存策略-強(qiáng)制緩存與協(xié)商緩存

    Definition:HTTP的緩存策略指的是控制瀏覽器或代理服務(wù)器緩存哪些資源、以及如何使用和存儲(chǔ)這些資源的規(guī)則。 常用的HTTP緩存策略包括:強(qiáng)制緩存、協(xié)商緩存、禁止緩存、條件緩存等策略。 本文只介紹其中最為常用的強(qiáng)制緩存與協(xié)商緩存。 Introduction:瀏覽器在訪問(wèn)資源之前

    2024年02月12日
    瀏覽(60)
  • 什么是強(qiáng)緩存和協(xié)商緩存

    強(qiáng)緩存是指瀏覽器在請(qǐng)求資源時(shí),先檢查本地緩存是否存在該資源的副本,并且該副本是否有效。如果有效,瀏覽器直接從本地緩存中獲取資源,不會(huì)發(fā)送請(qǐng)求到服務(wù)器。 使用強(qiáng)緩存策略時(shí),如果緩存資源有效,則直接使用緩存資源,不必在向服務(wù)器發(fā)起請(qǐng)求。 常見(jiàn)的強(qiáng)緩

    2024年02月11日
    瀏覽(16)
  • 對(duì)強(qiáng)緩存和協(xié)商緩存的理解

    對(duì)強(qiáng)緩存和協(xié)商緩存的理解

    瀏覽器緩存的定義: 瀏覽器緩存是瀏覽器在本地磁盤(pán)對(duì)用戶最近請(qǐng)求過(guò)的文檔進(jìn)行存儲(chǔ),當(dāng)訪問(wèn)者再次訪問(wèn)同一頁(yè)面時(shí),瀏覽器就可以直接從本地磁盤(pán)加載文檔。 瀏覽器緩存分為強(qiáng)緩存和協(xié)商緩存。 瀏覽器是如何使用緩存的: 瀏覽器緩存的過(guò)程 1.瀏覽器第一次加載資源,服

    2024年02月13日
    瀏覽(17)
  • 瀏覽器強(qiáng)緩存與協(xié)商緩存

    瀏覽器強(qiáng)緩存與協(xié)商緩存

    強(qiáng)制緩存的思想是,在瀏覽器內(nèi)置數(shù)據(jù)庫(kù)中緩存每次請(qǐng)求中 “可以被緩存” (受到一些的管控)的靜態(tài)資源如 image, css, js 文件, 當(dāng)?shù)诙握?qǐng)求被緩存過(guò)的資源時(shí)候,會(huì)通過(guò)校驗(yàn)兩個(gè)字段 Expires 和 Cache-Control 的max-age字段(注意,Expires 是 http1.0 的產(chǎn)物, Cache-Control 則是

    2023年04月19日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包