一、ETag簡(jiǎn)介 ETag(EntityTags)是URL的tag,用來(lái)標(biāo)示URL對(duì)象是否改變,這樣可利用客戶端(例如瀏覽器)的緩存。由服務(wù)器首先產(chǎn)生ETag,客戶端通過(guò)將該記號(hào)傳回服務(wù)器要求服務(wù)器驗(yàn)證其(客戶端)緩存。服務(wù)器使用它來(lái)判斷頁(yè)面是否已經(jīng)被修改,如果未修改返回304,而不必重新傳輸整個(gè)對(duì)象。 二、現(xiàn)在站點(diǎn)Sitemap存在的問(wèn)題 1.發(fā)現(xiàn)更新不及時(shí) 當(dāng)站點(diǎn)或其Sitemap發(fā)生更新時(shí),百度難以及時(shí)發(fā)現(xiàn)并響應(yīng),因?yàn)榘俣入y以無(wú)時(shí)無(wú)刻地持續(xù)檢查站點(diǎn)內(nèi)容和Sitemap是否更新。 2.全量抓取,消耗帶寬 現(xiàn)在百度對(duì)站點(diǎn)Sitemap的抓取會(huì)將Sitemap文件完整下載下來(lái),鑒于Sitemap文件一般較大,而這種下載可能存在多次,故比較消耗網(wǎng)站的流量和帶寬。 三、ETag作用 HTTP1.1用ag來(lái)判斷請(qǐng)求的文件是否被修改,主要為了解決Last-Modified無(wú)法解決的一些問(wèn)題 1、一些文件也許會(huì)周期性的更改,但是他的內(nèi)容并不改變(僅僅改變的修改時(shí)間),這個(gè)時(shí)候并不希望客戶端認(rèn)為這個(gè)文件被修改了重新GET; 2、某些文件修改非常頻繁, 1秒內(nèi)修改了N次,If-Modified-Since能檢查到的粒度是秒級(jí)的,這種修改無(wú)法判斷 3、某些服務(wù)器不能精確的得到文件的最后修改時(shí)間; 為此,HTTP1.1引入了ETag.但標(biāo)準(zhǔn)并沒(méi)有規(guī)定ETag的內(nèi)容是什么或者說(shuō)要怎么實(shí)現(xiàn),唯一規(guī)定的是ETag需要放在雙引號(hào)內(nèi)。ETag由服務(wù)器端生成,客戶端通過(guò)If-Match或者說(shuō)If-None-Match這個(gè)條件判斷請(qǐng)求來(lái)驗(yàn)證資源是否修改。我們常見(jiàn)的是使用If-None-Match.請(qǐng)求一個(gè)文件的流程可能如下: 第一次請(qǐng)求: 1.客戶端發(fā)起HTTP GET請(qǐng)求一個(gè)文件; 2.服務(wù)器處理請(qǐng)求,返回文件內(nèi)容和一堆Header,當(dāng)然包括ETag(例如"1ec5-502264e2ae4c0")(假設(shè)服務(wù)器支持ETag生成和已經(jīng)開啟了ETag).狀態(tài)碼200,如下圖所示,首次請(qǐng)求百度首頁(yè)時(shí),成功得到百度logo圖片文件bd_logo1.png,狀態(tài)碼200,大小8.1KB,返回的Header中包括ETag(“1ec5-502264e2ae4c0”)。 第二次請(qǐng)求: 1.客戶端發(fā)起HTTP GET請(qǐng)求一個(gè)文件,這個(gè)時(shí)候客戶端同時(shí)發(fā)送一個(gè)If-None-Match頭,這個(gè)頭的內(nèi)容就是我們第一次請(qǐng)求時(shí)服務(wù)器返回的ETag:1ec5-502264e2ae4c0 2.服務(wù)器判斷發(fā)送過(guò)來(lái)的ETag和計(jì)算出來(lái)的ETag是匹配的,不返回200,返回304,讓客戶端繼續(xù)使用本地緩存。如圖所示這次對(duì)bd_logo1.png的請(qǐng)求,服務(wù)器只返回了Header沒(méi)有返回內(nèi)容,大小僅為349B。
![]() 四、站點(diǎn)啟用ETag的好處 1.對(duì)Sitemap啟用ETag后,百度可以更快速地響應(yīng)Sitemap的更新,沒(méi)有更改內(nèi)容的情況下,服務(wù)器只發(fā)回304應(yīng)答頭,對(duì)流量的消耗極小,在每個(gè)head平均227B大小的通常情形下,一整天二十四小時(shí)每秒都回應(yīng)的流量消耗僅為18.7M。 2.現(xiàn)在站長(zhǎng)平臺(tái)對(duì)每個(gè)站點(diǎn)的Sitemap主動(dòng)抓取次數(shù)設(shè)有上限,且這項(xiàng)功能沒(méi)有對(duì)所有站開放,如果您的站點(diǎn)Sitemap啟用了ETag,并通過(guò)了測(cè)試,那么就可以用很小的流量享受百度及時(shí)更新您的Sitemap的功能,以便于百度更好地收錄您網(wǎng)站的內(nèi)容。 |
免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信