成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ETag負載均衡的相關問題

網絡 網絡優化 網絡運維
本文對負載均衡環境下的ETag問題進行了介紹,包括文件的節點,大小,時間等修改內容,還有模塊的設置等相關的敘述。

一般的網站我們都會使用服務器負載均衡環境來支撐我們的業務,那么,在這個環境下,ETag的相關問題我們就需要單獨來討論一下了。那么,具體的內容還是讓我們從文章中來了解一下吧。

在負載均衡環境中(LVS, LoadBalance)為了減少瀏覽器數據的重復請求操作,一般需要設置 Http Header 的 Etage 和 Expires 告訴瀏覽器請求數據是否已過期。以下內容主要考慮Apache+squid 環境

ETag Header是文件修改時間、文件大小和inode號生成的校驗(checksum),在多臺服務器的負載均衡環境下會因部署內容的inode節點差異造成 ETag 的不同,在多臺WEB前端做負載均衡的情況下,會因為請求同一個數據但不同機器的 ETag 而影響了響應. 具體表現為用戶在第一次請求某一內容時下載而再次時瀏覽器會發現ETag不同而再次請求下載.。(再次刷新時查看是否響應碼為:304)

對于這種負載均衡情況下,Apache可以使用 File Etag 選項配置

Apache的默認ETag的值總是由文件的索引節點(Inode)、大小(Size)、最后修改時間(MTime)決定

這里我們只需要去掉Inode即可

FileETag MTime Size

具體關于 FileETag 詳細內容可以查看Apache官方文檔。

Expires用于控制請求文件的有效時間,當請求數據在有效期內時客戶端瀏覽器從緩存請求數據而不是服務器端. 當緩存中數據失效或過期,才決定從服務器更新數據。
可以使用Apache的mod_expires 模塊來設置,這包括控制應答時的Expires頭內容和Cache-Control頭的max-age指令

  1. ExpiresActive On  
  2. ExpiresByType image/gif "access plus 1 month" 
  3. ExpiresByType image/jpeg "access plus 1 month" 
  4. ExpiresByType image/x-icon "access plus 1 month" 
  5. ExpiresByType image/png "access plus 1 month" 
  6. ExpiresByType text/html "access plus 30 minutes" 
  7. ExpiresByType text/css "access plus 30 minutes" 
  8. ExpiresByType text/js "access plus 30 minutes" 
  9. ExpiresByType application/x-javascript "access plus 30 minutes" 
  10. ExpiresByType application/x-shockwave-flash "access plus 30 minutes" 

這個負載均衡環境下的以上設置為圖片文件的有效期為從請求文件開始1個月,html,css,js,flash文件的有效期為從請求文件開始30分鐘,這里只是一個常規設置,Apache官方文檔 對此設置有詳細介紹。當設置了expires后,會自動輸出Cache-Control 的max-age 信息,這個數值是expires有效期內的秒數,(一個月的數值為2592000) 在這個時間段里,該文件的請求都將直接通過緩存服務器獲取,當然如果需要忽略瀏覽器的刷新請求(F5),緩存服務器squid還需要使用 refresh_pattern 選項來忽略該請求refresh_pattern -i .jpg 1440 50% 10080 reload-into-ims ignore-reload ignore-no-cache ignore-private

以下為實際輸出的HTTP Header信息

  1. Date Thu, 07 Aug 2008 07:27:57 GMT  
  2. Server Apache  
  3. Last-Modified Fri, 27 Jun 2008 07:18:52 GMT  
  4. Etag "df6-b8c8cf00" 
  5. Accept-Ranges bytes  
  6. Content-Length 3574  
  7. Cache-Control max-age=2592000  
  8. Expires Sat, 06 Sep 2008 07:27:57 GMT  
  9. Content-Type image/jpeg  
  10. Age 34241  
  11. X-Cache HIT from s1.ihompy.com  
  12. Connection keep-alive 

在負載均衡環境下,對于動態頁面的緩存如果不是頻繁更新的頁面數據,可以在squid緩存,只需要注意兩點

1. session : 對于需要緩存的數據,一定要關閉session防止在http header 中包括session id 字段

2. Last-Modified 和 Expires 標記:一般般純靜態頁面本身都會有Last-Modified信息,這是由WEB服務器獲取文件的最后修改時間生成的,而動態頁面需要默認的輸出內容是

  1. Date Thu, 07 Aug 2008 16:58:37 GMT  
  2. Expires Thu, 19 Nov 1981 08:52:00 GMT  
  3. Last-Modified Thu, 07 Aug 2008 16:58:37 GMT 

這里的 Last-Modified 時間和請求文件的時間相同,也就是說該文件總是聲明為最新的,在程序中需要輸出Last-Modifed 和 Expires信息,比如php

  1. header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');  
  2. header('Expires: ' . gmdate ("D, d M Y H:i:s", time() + 3600*24). " GMT"); 

以上信息設置php文件的過期時間為請求該文件的時間后的24小時(3600*24)

責任編輯:佟健 來源: 互聯網
相關推薦

2010-04-28 15:49:24

防火墻負載均衡

2010-05-10 14:55:35

網絡負載均衡

2010-04-20 15:13:08

負載均衡

2010-04-20 16:06:12

有線負載均衡

2010-05-05 17:53:56

web負載均衡

2017-07-03 08:08:25

負載均衡分類

2010-05-10 14:13:26

2010-04-20 15:59:20

無線局域網負載均衡

2010-05-05 23:10:35

負載均衡器

2009-11-05 15:39:39

負載均衡

2010-04-30 09:40:41

2011-12-02 22:51:46

Nginx負載均衡

2018-11-07 10:12:37

2021-04-21 14:56:28

負載均衡高并發優化技術架構

2010-04-28 17:39:26

網絡負載均衡

2010-05-10 16:15:34

2010-04-22 21:24:28

2010-05-10 14:07:26

負載均衡器

2010-04-25 19:14:32

Radware負載均衡

2010-05-06 16:55:11

Python負載均衡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线网站 | 国产一区亚洲二区三区 | 高清黄色网址 | 在线视频一区二区 | 国产xxxx岁13xxxxhd | 中文字幕在线观看av | 国产精品久久久久久 | 蜜桃精品在线 | 久久国产精品-久久精品 | 亚洲视频观看 | 在线午夜 | 成人午夜影院 | 日韩精品一区二区三区在线播放 | 久久综合久| 美女久久久久久久 | 亚洲午夜精品 | 国产999精品久久久久久绿帽 | 精品国产伦一区二区三区观看体验 | 亚洲精品电影 | 欧美久久久久久 | 中文字幕在线看第二 | 亚洲va国产日韩欧美精品色婷婷 | 国产精品日韩欧美一区二区三区 | 久久天天躁狠狠躁夜夜躁2014 | 伊人网国产 | 亚洲成人av | 亚洲一区高清 | 成人国内精品久久久久一区 | 国产一区二区影院 | 91在线免费视频 | 在线免费观看黄a | 久久亚洲二区 | 久久一区二区三区四区五区 | 欧美片网站免费 | 亚洲一区二区国产 | 视频一区 国产精品 | 日韩手机在线看片 | 国产亚洲精品久久yy50 | 国产aa | 超碰97免费在线 | 中文字幕在线不卡播放 |