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

一文帶你了解什么是瀏覽器緩存,DNS,CDN及域名解析類型

 更新時(shí)間:2022年01月30日 12:03:55   投稿:wdc  
這篇文章主要介紹了一文帶你了解什么是瀏覽器緩存,DNS,CDN及域名解析類型,需要的朋友可以參考下

瀏覽器的緩存機(jī)制

當(dāng)我們使用Ctrl+F5組合鍵刷新一個(gè)頁面時(shí),在HTTP的請(qǐng)求頭中會(huì)增加一些請(qǐng)求頭,
它告訴服務(wù)端我們要獲取最新的數(shù)據(jù)而不是緩存。

Cache-Control

這個(gè)HTTP Head字段用于指定所有緩存機(jī)制在整個(gè)請(qǐng)求/響應(yīng)鏈中必須服從的指令。

可選值說明
Public所有內(nèi)容都將被緩存,在響應(yīng)頭中設(shè)置
Private內(nèi)容只緩存到私有緩存中,在響應(yīng)頭中設(shè)置
no-cache所有內(nèi)容都不會(huì)被緩存,在請(qǐng)求頭和響應(yīng)頭中設(shè)置
no-store所有內(nèi)容都不會(huì)被緩存到緩存或Internet臨時(shí)文件中,在響應(yīng)頭中設(shè)置
must-revalidation/proxy-revalidation如果緩存的內(nèi)容失敗,請(qǐng)求必須發(fā)送到服務(wù)器/代理以進(jìn)行重新驗(yàn)證,在請(qǐng)求頭中設(shè)置
max-age=xxx緩存的內(nèi)容將在xxx秒后失效,這個(gè)選項(xiàng)只在HTTP 1.1中可用,和Last-Modified一起使用時(shí)優(yōu)先級(jí)較高,在響應(yīng)頭中設(shè)置

Cache-Control請(qǐng)求字段被各個(gè)瀏覽器支持的較好,而且它的優(yōu)先級(jí)也比較高,
它和其他一些請(qǐng)求字段(如Expires)同時(shí)出現(xiàn)時(shí),Cache-Control會(huì)覆蓋掉其他字段。

Expires

Expires通常的使用格式是Expires: Sat, 25 Feb 2012 12:22:17 GMT,
后面跟著一個(gè)日期和時(shí)間,超過這個(gè)時(shí)間后,緩存的內(nèi)容將失效。

Last-Modidified/Etag

Last-Modified字段一般用于表示一個(gè)服務(wù)器上的資源的最后修改時(shí)間,
資源可以是靜態(tài)(靜態(tài)內(nèi)容自動(dòng)加上Last-Modified字段),
或者動(dòng)態(tài)的內(nèi)容(如Servlet提供了一個(gè)getLastModified方法,用于檢查某個(gè)動(dòng)態(tài)內(nèi)容是否已經(jīng)更新),
通過這個(gè)最后修改時(shí)間可以判斷當(dāng)前請(qǐng)求的資源是否是最新的。

一般服務(wù)器端在響應(yīng)頭中返回一個(gè)Last-Modified子彈,告訴瀏覽器這個(gè)頁面的最后修改時(shí)間,
Last-Modified: Sat, 25 Feb 2012 12:55:04 GMT,瀏覽器再次請(qǐng)求時(shí),
在請(qǐng)求頭中增加一個(gè)If-Modified-Since: Sat, 25 Feb 2012 12:55:04 GMT字段,
詢問當(dāng)前緩存的頁面是否是最新的,如果是最新的就返回304狀態(tài)碼,告訴瀏覽器是最新的,服務(wù)器也不會(huì)傳輸新的數(shù)據(jù)。

與Last-Modified字段有類似功能的還有一個(gè)Etag字段,
這個(gè)字段的作用是讓服務(wù)器給每個(gè)頁面分配一個(gè)唯一的編號(hào),
然后通過這個(gè)編號(hào)來區(qū)分當(dāng)前這個(gè)頁面是否最新的。

這種方式比使用Last-Modified更加靈活,但是在后端的Web服務(wù)器有多臺(tái)時(shí)比較難處理,
因?yàn)槊總€(gè)Web服務(wù)器都要記住網(wǎng)站的所有資源,
否則瀏覽器返回這個(gè)編號(hào)就沒有意義了。

DNS域名解析過程

當(dāng)一個(gè)用戶在瀏覽器中輸入www.dbjr.com.cn時(shí),DNS解析將會(huì)有將近10個(gè)步驟,這個(gè)過程大體描述如下。

瀏覽器

瀏覽器會(huì)檢查緩存中有沒有這個(gè)域名對(duì)應(yīng)的解析過的IP地址,
如果緩存中有,這個(gè)解析過程就將結(jié)束。

瀏覽器緩存域名也是有限制的,不僅瀏覽器緩存大小有限制,而且緩存的時(shí)間也有限制,
通常情況下為幾分鐘到幾小時(shí)不等,
域名被緩存的時(shí)間限制可以通過TTL屬性來設(shè)置。

操作系統(tǒng)

如果用戶的瀏覽器緩存中沒有,瀏覽器會(huì)查找操作系統(tǒng)緩存中是否有這個(gè)域名對(duì)應(yīng)的DNS解析結(jié)果。

其實(shí)操作系統(tǒng)也會(huì)有一個(gè)域名解析的過程,
在Windows中可以通過C:\Windows\System32\drivers\etc\hosts文件來設(shè)置,
你可以將任何域名解析到任何能夠訪問的IP地址。

在Linux中這個(gè)配置文件是/etc/hosts,
當(dāng)解析到這個(gè)配置文件中的某個(gè)域名時(shí),操作系統(tǒng)會(huì)在緩存中緩存這個(gè)解析結(jié)果,
緩存的時(shí)間同樣是受這個(gè)域名的失效時(shí)間和緩存的空間大小控制的。

本地區(qū)的域名服務(wù)器

如果在本機(jī)中仍然無法完成域名的解析,就會(huì)真正請(qǐng)求域名服務(wù)器來解析這個(gè)域名了。

在我們的網(wǎng)絡(luò)配置中都會(huì)有“DNS服務(wù)器地址”這一項(xiàng),
操作系統(tǒng)會(huì)把這個(gè)域名設(shè)置為本地區(qū)的域名服務(wù)器(LNDS)。

這個(gè)DNS通常都提供給你本地互聯(lián)網(wǎng)接入的一個(gè)DNS解析服務(wù),
例如,你是在學(xué)校接入互聯(lián)網(wǎng),那么你的DNS服務(wù)器肯定在你的學(xué)校,
如果你是在一個(gè)小區(qū)接入互聯(lián)網(wǎng),那這個(gè)DNS就是提供給你接入互聯(lián)網(wǎng)的應(yīng)用提供商,即電信或者聯(lián)通。

這個(gè)專門的域名解析服務(wù)器性能都會(huì)很好,它們一般都會(huì)緩存域名解析結(jié)果,
當(dāng)然緩存時(shí)間是受域名的失效時(shí)間控制的。

Root Server域名服務(wù)器

如果LDNS仍然沒有命中,就直接到Root Server域名服務(wù)器請(qǐng)求解析。

返回主域名服務(wù)器地址

根域名服務(wù)器返回給本地域名服務(wù)器一個(gè)所查詢的主域名服務(wù)器(gTLD Server)地址。
gTLD是國(guó)際頂級(jí)域名服務(wù)器,如.com.cn,.org等,全球只有13臺(tái)左右。

向主域名服務(wù)器發(fā)送請(qǐng)求

本地域名服務(wù)器(Local DNS Server)再向上一步返回的gTLD服務(wù)器發(fā)送請(qǐng)求。

域名提供商的服務(wù)器

接受請(qǐng)求的gTLD服務(wù)器查找并返回此域名對(duì)應(yīng)的Name Server域名服務(wù)器的地址,
這個(gè)Name Server通常就是你注冊(cè)的域名服務(wù)器。

例如,你在某個(gè)域名服務(wù)器提供商申請(qǐng)的域名,那么這個(gè)域名解析任務(wù)就由這個(gè)域名提供商的服務(wù)器來完成。

映射關(guān)系表

Name Server域名服務(wù)器會(huì)查詢存儲(chǔ)在域名和IP的映射關(guān)系表,
在正常情況下會(huì)根據(jù)域名得到目標(biāo)IP記錄,連同一個(gè)TTL值返回給DNS Server域名服務(wù)器。

Local DNS Server緩存

返回該域名對(duì)應(yīng)的IP和TTL值,Local DNS Server會(huì)緩存這個(gè)域名和IP的對(duì)應(yīng)關(guān)系,
緩存的時(shí)間由TTL值控制。

本地系統(tǒng)緩存

把解析的結(jié)果返回給用戶,用戶根據(jù)TTL值緩存在本地系統(tǒng)緩存中,域名解析過程結(jié)束。

注:在實(shí)際的DNS解析過程中,可能還不止這10個(gè)步驟,
如Name Server也可能有很多級(jí),或者有一個(gè)GTM來負(fù)載均衡控制,
這都有可能會(huì)影響域名解析的過程。

幾種域名解析方式

域名解析記錄主要分為A記錄,MX記錄,CNAME記錄,NS記錄,和TXT記錄。

A記錄

A代表Address,用來指定域名對(duì)應(yīng)的IP地址,
A記錄可以將多個(gè)域名解析到一個(gè)IP地址,但是不能將一個(gè)域名解析到多個(gè)IP地址。

MX記錄

MX表示Mail Exchange,就是可以將某個(gè)域名下的郵件服務(wù)器指向自己的Mail Server,
DNS會(huì)將郵件發(fā)送到MX記錄的服務(wù)器,而正常通過Web請(qǐng)求的話,仍然解析到A記錄的IP地址。

CNAME記錄

CNAME全稱為Canonial Name(別名解析)。
所謂別名解析就是可以為一個(gè)域名設(shè)置一個(gè)或者多個(gè)別名。

NS記錄

NS記錄,為某個(gè)域名指定DNS解析服務(wù)器,也就是這個(gè)域名由指定的IP地址的DNS服務(wù)器去解析。

TXT記錄

為某個(gè)主機(jī)名或域名設(shè)置說明。

CDN工作機(jī)制

CDN也就是內(nèi)容分布網(wǎng)絡(luò)(Content Delivery Network),它是構(gòu)筑在現(xiàn)有Internet上的一種先進(jìn)的流量分配網(wǎng)絡(luò)。
其目的是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),
將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)“邊緣”,使用戶可以就近取得所需的內(nèi)容,
提高用戶訪問網(wǎng)站的響應(yīng)速度。

目前CDN都以緩存網(wǎng)站中的靜態(tài)數(shù)據(jù)為主,如CSS,JS,圖片和靜態(tài)頁面等數(shù)據(jù)。
用戶在先從主站服務(wù)器請(qǐng)求到動(dòng)態(tài)內(nèi)容后,再從CDN上下載這些靜態(tài)資源,從而加速網(wǎng)頁數(shù)據(jù)內(nèi)容的下載速度。

CDN架構(gòu)

一個(gè)用戶訪問某個(gè)靜態(tài)文件(如CSS文件),這個(gè)靜態(tài)文件的域名假如是cdn.jb51.net
那么首先要向Local DNS服務(wù)器發(fā)起請(qǐng)求,
一般經(jīng)過迭代解析后回到這個(gè)域名的注冊(cè)服務(wù)器去解析,一般每個(gè)公司都會(huì)有一個(gè)DNS解析服務(wù)器。

這時(shí)這個(gè)DNS解析服務(wù)器通常會(huì)把它重新CNAME解析到另一個(gè)另外一個(gè)域名,
而這個(gè)域名最終會(huì)被指向CDN全局中的DNS負(fù)載均衡服務(wù)器,再由這個(gè)GTM來最終分配是哪個(gè)地方的訪問用戶,
返回給離這個(gè)訪問用戶最近的CDN節(jié)點(diǎn)。

拿到DNS解析結(jié)果,用戶就直接去這個(gè)CDN節(jié)點(diǎn)訪問這個(gè)靜態(tài)資源文件了,
如果這個(gè)節(jié)點(diǎn)中所請(qǐng)求的文件不存在,就會(huì)再回到源站去獲取這個(gè)文件,然后再返回給用戶。

本文介紹的內(nèi)容作為一名站長(zhǎng)來說是必須要知道的知識(shí),更多關(guān)于這方面的知識(shí)請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

最新評(píng)論