午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

幫助

ETag助力站點提交sitemap ~對站點服務器如何配置ETag

2019-09-29 09:23 優化推廣

一、Apache

 

Apache根據配置文件中的配置來設置Etag值,默認的Apache的FileEtag設置為:
       FileEtagINode Mtime Size
       也(ye)就是根(gen)據這(zhe)三(san)個(ge)屬(shu)性(xing)來(lai)生成(cheng)Etag值,他們之間(jian)通過一些算法(fa)來(lai)實現,并輸出成(cheng)hex的格式,相鄰屬(shu)性(xing)之間(jian)用-分隔,比(bi)如(ru):"2e681a-6-5d044840",這(zhe)里面的三(san)個(ge)段(duan),分別代表了INode,MTime,Size根(gen)據算法(fa)算出的值的Hex格式,可以改變Apache的FileEtag設(she)置,比(bi)如(ru)設(she)置成(cheng)FileEtagSize,那么得到的Etag可能為(wei):"6",設(she)置了幾個(ge)段(duan),Etag值就有(you)幾個(ge)段(duan)。

 詳細配置:

步驟1
       在(zai)要啟用ETag的目錄下(xia)增加.htaccess文件并在(zai)其中增加一行,如圖:FileETagMTime Size

以覆(fu)蓋默(mo)認(ren)的(de)Innode MTime Size的(de)ETag,因為(wei)默(mo)認(ren)的(de)ETag使用到的(de)Innode會導致(zhi)相(xiang)同的(de)文件在分布(bu)式服務器(qi)上產生(sheng)的(de)ETag不同。

步驟2
       如果.htacces文件已經存在,請確保要啟用ETag的目錄/.htacces文件中沒有FileETagNone。如果存在FileETag None,請刪去該行。

檢查沒有用mod_headers將ETag除去,即httpd.conf文件中沒有出現下面的語句,
       LoadModuleheaders_module modules/mod_headers.so 
       Headerunset ETag
如果出現如圖情況,請刪除Headerunset ETag這一行。

步驟3      重新啟動httpd,就啟用ETag了。

二、Nginx

 

步驟1
       確認Nginx版本,命令:Nginx安裝目錄/sbin/nginx–v

版本為1.7.3及更高,繼續步驟2;版本為1.7.3以下,1.3.3及以上,進行步驟3;版本為1.3.3以下,不支持ETag,請升級您的Nginx

步驟2
       確認沒有關閉ETag:打開Nginx的配置文件nginx.conf(默認位置Nginx安裝目錄/conf/),確保其中沒有出現etagoff;,下(xia)圖為出現的情況(kuang),請將此(ci)行刪除。

確認沒有使用ngx_headers_more清除ETag頭(tou):同樣在配置(zhi)文件(jian)中不(bu)能出現(xian)如下語句(ju)的(de)任(ren)意一(yi)句(ju),如果(guo)出現(xian)請將其刪除。


重新啟動Nginx,就啟用ETag功能了。

步驟3

查看是否開啟了gzip,且是否和etag出現沖突,出現沖突去步驟4,沒有去步驟2。
打開Nginx的配置文件nginx.conf(默認位置Nginx安裝目錄/conf/),其中出現gzip on;語句證明開啟了gzip,如圖

開(kai)啟gzip時,可能與etag出現沖(chong)突(tu)(tu),用瀏覽器多次請(qing)求此網站的靜(jing)態元素,如(ru)果只返回(hui)200,不返回(hui)304,證明存在沖(chong)突(tu)(tu),請(qing)去(qu)步驟4;沒有沖(chong)突(tu)(tu)去(qu)步驟2。

步驟4
        請關(guan)閉(bi)gzip,即(ji)將上(shang)一步中的gzipon;改為gzip off;然后去(qu)步驟(zou)2。

若不想關閉gzip,并要開啟ETag,同時仍要堅持使用當前的Nginx版本,只能修改源碼并重新編譯。
下載此版本安裝包并解壓,將其目錄下/src/http/modules/ngx_http_gzip_filter_module.c
文(wen)件中(zhong)約309行左右的ngx_http_clear_etag(r);一(yi)行注釋掉(diao)或(huo)刪掉(diao)。如(ru)下圖

如果沒有找到ngx_http_clear_etag(r);而是發現ngx_http_weak_etag(r);如下圖,證明此Nginx

沒有gzipetag沖突的問題,不必進行任何修改。
重新編譯源碼安裝Nginx,解決這個沖突,然后去步驟2

三、IIS

 

IIS7是默認開啟ETag的,如果沒有ETag,請按以下步驟設置。

打開Internet Information Services (IIS) Manager,如圖雙擊HTTP響應頭部(HTTPResponse Headers),
  選擇No Grouping標簽,在空白處右鍵選擇Add

 設置NameETagValue為雙引號

配置web.config:­

<system.webServer>

  ...

       <httpProtocol>

           <customHeaders>

                <add name="ETag"value="&quot;&quot;" />

           </customHeaders>

       </httpProtocol>

  ...

</system.webServer>

完成。


相關推薦

工作日 8:30-12:00 14:30-18:00
周(zhou)六(liu)及(ji)部(bu)分節假(jia)日提供值班服務

易小(xiao)優
轉(zhuan)人工 ×