操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    心理引導(dǎo)

    你是不是看了很多有關(guān)緩存的文章,然后都有個大概理解。然后去面試的時候,說起來還是有點(diǎn)結(jié)結(jié)巴巴咩?被問的慌慌張張?面完心里也沒底。我把上的筆記拿出來分享給大家咩。當(dāng)然啦,為了文章內(nèi)容的可靠性,盡可能使用專業(yè)用語。依賴《http權(quán)威指南》描述相關(guān)內(nèi)容。至于彩蛋嘛,慢慢翻哦~

    倒不是因?yàn)閚o-cache,Etag,,If--Since,這些字眼困擾我們,其實(shí)如果http機(jī)制沒有上岸,讓你去實(shí)現(xiàn)這個交涉過程,你也會和對方相互約定相關(guān)制約。只是在原本不完善的基礎(chǔ)上,一點(diǎn)一點(diǎn)優(yōu)化,于是發(fā)展成現(xiàn)在這樣。自己寫的代碼從零到有再到優(yōu)化,同樣的道理,讓同事來看你的代碼不也是一樣的感受(什么JB玩意兒,shit)。所以啊,別怕麻煩,耐心一點(diǎn)看(一次看不完收藏下來,下次接著看嘻嘻)。

    其實(shí)web緩存無非就是:數(shù)據(jù)庫緩存、服務(wù)器端緩存(代理服務(wù)器緩存、CDN 緩存)、瀏覽器緩存。這里呢,我們先講瀏覽器緩存里的http緩存。

    為什么要緩存?

    每天早上設(shè)置鬧鐘準(zhǔn)時在支付寶的螞蟻森林收(tou)能量,手里這臺用了4年多的蘋果6s,特別慢,每次進(jìn)入一個好友主頁都要加載半天,同事A(和我一樣的手機(jī))說這網(wǎng)絡(luò)好差,同事B的蘋果XS秒進(jìn),近乎看不見延遲。其實(shí)這里網(wǎng)絡(luò)無辜背鍋,手機(jī)配置性能跟不上了啊,就像家里那臺04年的臺式機(jī),卡的像機(jī)器人。當(dāng)然這么快,緩存沒有功勞的嗎。這就是生活中最典型的案例,也是直接影響到每天收能量的速度!

    如果可以,評論區(qū)留下支付寶賬號,互割韭菜啊!!

    所以啊,緩存解決哪些問題呢?

    我去手機(jī)上可以買火車票,為什么還要開車去火車站買呢?閑的蛋疼啊,不如來把王者。

    視頻緩存dat文件_緩存文件是什么意思_qq音樂緩存tdl文件怎么打開

    當(dāng)然緩存無法保存世界上每份文檔的副本 ,可以用已有的副本為某些到達(dá)緩存的請求提供服務(wù)。這被稱為緩存命中(),其他一些到達(dá)緩存的請求可能會由于沒有副本可用,而被轉(zhuǎn)發(fā)給原始服務(wù)器。這被稱為緩存未命中(cache miss) 。如下所示:

    縱覽緩存處理步驟1.第一步:接收------緩存從網(wǎng)絡(luò)中讀取抵達(dá)的請求報文

    緩存檢測到一條網(wǎng)絡(luò)連接上的活動,讀取輸入數(shù)據(jù)。高性能的緩存會同時從多條輸入連接上讀取數(shù)據(jù),在整條報文抵達(dá)之前開始對事務(wù)進(jìn)行處理。

    2.第二步:解析------緩存對報文進(jìn)行解析,提取出 URL 和各種首部

    接下來,緩存將請求報文解析為片斷,將首部的各個部分放入易于操作的數(shù)據(jù)結(jié)構(gòu)中。這樣,緩存軟件就更容易處理首部字段并修改它們了 。

    解析程序還要負(fù)責(zé)首部各部分的標(biāo)準(zhǔn)化,將大小寫或可替換數(shù)據(jù)格式之類不太重要的區(qū)別都看作等效的。而且,某些請求報文中包含有完整的絕對 URL,而其他一些請求中包含的則是相對 URL 和Host 首部,所以解析程序通常都要將這些細(xì)節(jié)隱藏起來 。

    3.第三步:查詢------緩存查看是否有本地副本可用,如果沒有,就獲取一份副本(并將其保存在本地)

    在第三步中,緩存獲取了 URL,查找本地副本。本地副本可能存儲在內(nèi)存、本地磁盤,甚至附近的另一臺計算機(jī)中。專業(yè)級的緩存會使用快速算法來確定本地緩存中是否有某個對象。如果本地沒有這個文檔,它可以根據(jù)情形和配置,到原始服務(wù)器或父代理中去取,或者返回一條錯誤信息。

    已緩存對象中包含了服務(wù)器響應(yīng)主體和原始服務(wù)器響應(yīng)首部,這樣就會在緩存命中時返回正確的服務(wù)器首部。已緩存對象中還包含了一些元數(shù)據(jù)(),用來記錄對象在緩存中停留了多長時間,以及它被用過多少次等 。

    視頻緩存dat文件_緩存文件是什么意思_qq音樂緩存tdl文件怎么打開

    復(fù)雜的緩存還會保留引發(fā)服務(wù)器響應(yīng)的原始客戶端響應(yīng)首部的一份副本,以用于 HTTP/1.1 內(nèi)容協(xié)商。

    4.第四步:新鮮度檢測------緩存查看已緩存副本是否足夠新鮮,如果不是,就詢問服務(wù)器是否有任何更新

    HTTP 通過緩存將服務(wù)器文檔的副本保留一段時間。在這段時間里,都認(rèn)為文檔是“新鮮的”,緩存可以在不聯(lián)系服務(wù)器的情況下,直接提供該文檔。但一旦已緩存副本停留的時間太長,超過了文檔的新鮮度限值( limit),就認(rèn)為對象“過時”了緩存文件是什么意思,在提供該文檔之前,緩存要再次與服務(wù)器進(jìn)行確認(rèn),以查看文檔是否發(fā)生了變化。客戶端發(fā)送給緩存的所有請求首部自身都可以強(qiáng)制緩存進(jìn)行再驗(yàn)證,或者完全避免驗(yàn)證,這使得事情變得更加復(fù)雜了。

    HTTP 有一組非常復(fù)雜的新鮮度檢測規(guī)則,緩存產(chǎn)品支持的大量配置選項(xiàng),以及與非HTTP 新鮮度標(biāo)準(zhǔn)進(jìn)行互通的需要則使問題變得更加嚴(yán)重了。

    5.第五步:創(chuàng)建響應(yīng)------緩存會用新的首部和已緩存的主體來構(gòu)建一條響應(yīng)報文

    我們希望緩存的響應(yīng)看起來就像來自原始服務(wù)器的一樣,緩存將已緩存的服務(wù)器響應(yīng)首部作為響應(yīng)首部的起點(diǎn)。然后緩存對這些基礎(chǔ)首部進(jìn)行了修改和擴(kuò)充。

    緩存負(fù)責(zé)對這些首部進(jìn)行改造,以便與客戶端的要求相匹配。比如,服務(wù)器返回的可能是一條 HTTP/1.0 響應(yīng)(甚至是 HTTP/0.9 響應(yīng)),而客戶端期待的是一條HTTP/1.1 響應(yīng),在這種情況下,緩存必須對首部進(jìn)行相應(yīng)的轉(zhuǎn)換。緩存還會向其中插入新鮮度信息(Cache-、Age 以及 首部),而且通常會包含一個 Via 首部來說明請求是由一個代理緩存提供的。

    注意,緩存不應(yīng)該調(diào)整 Date 首部。Date 首部表示的是原始服務(wù)器最初產(chǎn)生這個對象的日期。

    6.第六步:發(fā)送------緩存通過網(wǎng)絡(luò)將響應(yīng)發(fā)回給客戶端

    一旦響應(yīng)首部準(zhǔn)備好了,緩存就將響應(yīng)回送給客戶端。和所有代理服務(wù)器一樣,代理緩存要管理與客戶端之間的連接。高性能的緩存會盡力高效地發(fā)送數(shù)據(jù),通常可以避免在本地緩存和網(wǎng)絡(luò) I/O 緩沖區(qū)之間進(jìn)行文檔內(nèi)容的復(fù)制。

    視頻緩存dat文件_qq音樂緩存tdl文件怎么打開_緩存文件是什么意思

    7.第七部:日志------緩存可選地創(chuàng)建一個日志文件條目來描述這個事務(wù)

    大多數(shù)緩存都會保存日志文件以及與緩存的使用有關(guān)的一些統(tǒng)計數(shù)據(jù)。每個緩存事務(wù)結(jié)束之后,緩存都會更新緩存命中和未命中數(shù)目的統(tǒng)計數(shù)據(jù)(以及其他相關(guān)的度量值),并將條目插入一個用來顯示請求類型、URL 和所發(fā)生事件的日志文件。

    說這么多不如來一張圖,清晰客觀:

    強(qiáng)緩存

    通過特殊的 HTTP Cache- 首部和 首部,HTTP 讓原始服務(wù)器向每個文檔附加了一個“過期日期”。就像一夸脫牛奶上的過期日期一樣,這些首部說明了在多長時間內(nèi)可以將這些內(nèi)容視為新鮮的。

    服務(wù)器用 HTTP/1.0+ 的 首部或 HTTP/1.1 的 Cache-: max-age 響應(yīng)首部來指定過期日期,同時還會帶有響應(yīng)主體。 首部和 Cache-:max-age 首部所做的事情本質(zhì)上是一樣的,但由于 Cache- 首部使用的是相對時間而不是絕對日期,所以我們更傾向于使用比較新的 Cache- 首部。絕對日期依賴于計算機(jī)時鐘的正確設(shè)置。

    即Cache-優(yōu)先級更高。

    服務(wù)器再驗(yàn)證

    緩存文件是什么意思_qq音樂緩存tdl文件怎么打開_視頻緩存dat文件

    僅僅是已緩存文檔過期了并不意味著它和原始服務(wù)器上目前處于活躍狀態(tài)的文檔有實(shí)際的區(qū)別;這只是意味著到了要進(jìn)行核對的時間了。這種情況被稱為“服務(wù)器再驗(yàn)證”,說明緩存需要詢問原始服務(wù)器文檔是否發(fā)生了變化。

    我們來看一下Cache-的頭部:(不一定非要一下子全部記住,每次回想記不清的時候來看一眼緩存文件是什么意思,一次記一個,就能全部get了!)

    1)Cache-:no-store

    禁止一切緩存(這個才是響應(yīng)不被緩存的意思)。緩存通常會像非緩存代理服務(wù)器一樣,向客戶端轉(zhuǎn)發(fā)一條 no-store 響應(yīng),然后刪除對象。

    2)Cache-:no-cache

    強(qiáng)制客戶端直接向服務(wù)器發(fā)送請求,也就是說每次請求都必須向服務(wù)器發(fā)送。服務(wù)器接收到請求,然后判斷資源是否變更,是則返回新內(nèi)容,否則返回304,未變更。這個很容易讓人產(chǎn)生誤解,使人誤以為是響應(yīng)不被緩存。實(shí)際上Cache-: no-cache是會被緩存的,只不過每次在向客戶端(瀏覽器)提供響應(yīng)數(shù)據(jù)時,緩存都要向服務(wù)器評估緩存響應(yīng)的有效性。

    HTTP/1.1 中提供 : no-cache 首部是為了兼容于 HTTP/1.0+。除了與只理解 : no-cache 的 HTTP/1.0 應(yīng)用程序進(jìn)行交互時,HTTP 1.1 應(yīng)用程序都應(yīng)該使用 Cache-: no-cache。從技術(shù)上來講,:no-cache 首部只能用于 HTTP 請求,但在實(shí)際中它作為擴(kuò)展首部已被廣泛地用于 HTTP 請求和響應(yīng)之中。

    3)Cache-:must-

    在事先沒有跟原始服務(wù)器進(jìn)行再驗(yàn)證的情況下,不能提供這個對象的陳舊副本。緩存仍然可以隨意提供新鮮的副本。如果在緩存進(jìn)行 must- 新鮮度檢查時,原始服務(wù)器不可 用,緩存就必須返回一條 504 錯誤。

    緩存文件是什么意思_qq音樂緩存tdl文件怎么打開_視頻緩存dat文件

    4)Cache-:max-age

    首部表示的是從服務(wù)器將文檔傳來之時起,可以認(rèn)為此 文檔處于新鮮狀態(tài)的秒數(shù)。

    5)Cache-:s-

    和max-age是一樣的,不過它只針對代理服務(wù)器緩存而言。

    6)Cache-:

    只能針對個人用戶,而不能被代理服務(wù)器緩存。

    7)Cache-:

    可以被任何對象緩存,包括發(fā)送請求的客戶端,代理服務(wù)器。

    8)Cache-:max-stale

    緩存可以隨意提供過期的文件。如果指定了參數(shù) ,在這段 時間內(nèi),文檔就不能過期。這條指令放松了緩存的規(guī)則。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有