狠狠网/色综合久久久久综合体桃花网/日本护士三aaaaaa/久久久久久综合一区中文字幕

或者

ETag助力站點提交sitemap

作者:淺色記憶 瀏覽:228 發布時間:2017-09-15
分享 評論 0

 一、Apache

  Apache根據配置文件中的配置來設置Etag值,默認的Apache的FileEtag設置為:

  FileEtagINode Mtime Size

  也就是根據這三個屬性來生成Etag值,他們之間通過一些算法來實現,并輸出成hex的格式,相鄰屬性之間用-分隔,比如:"2e681a-6-5d044840",這里面的三個段,分別代表了INode,MTime,Size根據算法算出的值的Hex格式,可以改變Apache的FileEtag設置,比如設置成FileEtagSize,那么得到的Etag可能為:"6",設置了幾個段,Etag值就有幾個段。

  詳細配置:

  步驟1

  在要啟用ETag的目錄下增加.htaccess文件并在其中增加一行,如圖:FileETagMTime Size

  

  以覆蓋默認的Innode MTime Size的ETag,因為默認的ETag使用到的Innode會導致相同的文件在分布式服務器上產生的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;,下圖為出現的情況,請將此行刪除。

  

  確認沒有使用ngx_headers_more清除ETag頭:同樣在配置文件中不能出現如下語句的任意一句,如果出現請將其刪除。

  

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

  步驟3

  查看是否開啟了gzip,且是否和etag出現沖突,出現沖突去步驟4,沒有去步驟2。

  打開Nginx的配置文件nginx.conf(默認位置Nginx安裝目錄/conf/),其中出現gzip on;語句證明開啟了gzip,如圖

  

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

  步驟4

  請關閉gzip,即將上一步中的gzipon;改為gzip off;然后去步驟2。

  若不想關閉gzip,并要開啟ETag,同時仍要堅持使用當前的Nginx版本,只能修改源碼并重新編譯。

  下載此版本安裝包并解壓,將其目錄下/src/http/modules/ngx_http_gzip_filter_module.c

  文件中約309行左右的ngx_http_clear_etag(r);一行注釋掉或刪掉。如下圖

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

  沒有gzip和etag沖突的問題,不必進行任何修改。

  

  重新編譯源碼安裝Nginx,解決這個沖突,然后去步驟2。

  三、IIS

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

  打開Internet Information Services (IIS) Manager,如圖雙擊HTTP響應頭部(HTTPResponse Headers),

  

  選擇No Grouping標簽,在空白處右鍵選擇Add。

  

  設置Name為ETag,Value為雙引號

  

  配置web.config:-

  <system.webServer>

  ...

  <httpProtocol>

  <customHeaders>

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

  </customHeaders>

  </httpProtocol>

  ...

  </system.webServer>

  完成。