課程
/前端開發(fā)
/JavaScript
/Yahoo軍規(guī)
可是要怎么在網(wǎng)站中配置ETAG呢
2015-06-06
源自:Yahoo軍規(guī) 14-1
正在回答
Etag的工作原理 Etag在服務(wù)器上生成后,客戶端通過If-Match或者說If-None-Match這個(gè)條件判斷請(qǐng)求來驗(yàn)證資源是否修改。我們常見的是使用If-None-Match.請(qǐng)求一個(gè)文件的流程可能如下: 新的請(qǐng)求 客戶端發(fā)起HTTP GET請(qǐng)求一個(gè)文件(css ,image,js);服務(wù)器處理請(qǐng)求,返回文件內(nèi)容和一堆Header(包括Etag,例如”2e681a-6-5d044840″),http頭狀態(tài)碼為為200. 同一個(gè)用戶第二次這個(gè)文件的請(qǐng)求 客戶端在一次發(fā)起HTTP GET請(qǐng)求一個(gè)文件,注意這個(gè)時(shí)候客戶端同時(shí)發(fā)送一個(gè)If-None-Match頭,這個(gè)頭中會(huì)包括上次這個(gè)文件的Etag(例如”2e681a- 6-5d044840″),這時(shí)服務(wù)器判斷發(fā)送過來的Etag和自己計(jì)算出來的Etag,因此If-None-Match為False,不返回200,返 回304,客戶端繼續(xù)使用本地緩存; 注意.服務(wù)器又設(shè)置了Cache-Control:max-age和Expires時(shí),會(huì)同時(shí)使用,也就是說在完全匹配If-Modified-Since和If-None-Match即檢查完修改時(shí)間和Etag之后,服務(wù)器才能返回304. 下面是在Apache中的Etag的配置 在Apache中設(shè)置Etag的支持比較簡(jiǎn)單,只需要在apache的配置中加入下面的內(nèi)容就可以了: FileETag MTime Size
舉報(bào)
您要知道的網(wǎng)站性能優(yōu)化規(guī)則,提高網(wǎng)站性能、快速訪問網(wǎng)站不在是夢(mèng)
3 回答etag 實(shí)體標(biāo)簽 怎么配置?
2 回答這章講解的內(nèi)容如何應(yīng)用
1 回答網(wǎng)站配置多域還是單域,這個(gè)好處是什么?下面是我的理解看對(duì)不對(duì)
1 回答gzip壓縮是一個(gè)工具嗎?怎么http的表頭設(shè)置緩存時(shí)間
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-01-10
Etag的工作原理
Etag在服務(wù)器上生成后,客戶端通過If-Match或者說If-None-Match這個(gè)條件判斷請(qǐng)求來驗(yàn)證資源是否修改。我們常見的是使用If-None-Match.請(qǐng)求一個(gè)文件的流程可能如下:
新的請(qǐng)求
客戶端發(fā)起HTTP GET請(qǐng)求一個(gè)文件(css ,image,js);服務(wù)器處理請(qǐng)求,返回文件內(nèi)容和一堆Header(包括Etag,例如”2e681a-6-5d044840″),http頭狀態(tài)碼為為200.
同一個(gè)用戶第二次這個(gè)文件的請(qǐng)求
客戶端在一次發(fā)起HTTP GET請(qǐng)求一個(gè)文件,注意這個(gè)時(shí)候客戶端同時(shí)發(fā)送一個(gè)If-None-Match頭,這個(gè)頭中會(huì)包括上次這個(gè)文件的Etag(例如”2e681a- 6-5d044840″),這時(shí)服務(wù)器判斷發(fā)送過來的Etag和自己計(jì)算出來的Etag,因此If-None-Match為False,不返回200,返 回304,客戶端繼續(xù)使用本地緩存;
注意.服務(wù)器又設(shè)置了Cache-Control:max-age和Expires時(shí),會(huì)同時(shí)使用,也就是說在完全匹配If-Modified-Since和If-None-Match即檢查完修改時(shí)間和Etag之后,服務(wù)器才能返回304.
下面是在Apache中的Etag的配置
在Apache中設(shè)置Etag的支持比較簡(jiǎn)單,只需要在apache的配置中加入下面的內(nèi)容就可以了:
FileETag MTime Size