設置http緩存
⑴ http下載默認緩存
為了提高訪問網頁的速度,Internet Explorer瀏覽器會採用累積式加速的方法,將你曾經訪問的網頁內容(包括圖片以及cookie文件等)存放在電腦里。這個存放空間,我們就稱它為IE緩存。以後我們每次訪問網站時,IE會首先搜索這個目錄,如果其中已經有訪問過的內容,那IE就不必從網上下載,而直接從緩存中調出來,從而提高了訪問網站的速度。 設置IE緩存大小: 要提高IE的訪問速度,IE緩存是必不可少的。IE緩存默認安裝在系統區,而且會需要佔用較大的系統空間。所以如果你的系統空間的確很緊張,可以將緩存佔用的空間設得小一點,在IE的「工具」菜單下選擇「Internet選項」,然後在「常規」選項卡中你會看到有「Internet臨時文件」這一項,單擊「設置」按鈕,然後在彈出的「設置」對話框中將緩存大小設置為一個合適的值。你也可以直接將IE緩存移動到其它位置上去。 「Internet臨時文件」下單擊「設置」,然後在「設置」對話框中單擊「移動文件夾」按鈕,在「瀏覽文件夾」中選擇文件夾,將IE緩存移動到其他地方,這樣就不必擔心IE緩存太大,佔用更多空間了。 IE緩存就是上網後留下的痕跡。 可以刪除。。刪除後會加快瀏覽器的速度`` 只有好處沒壞處` 為了提高訪問網頁的速度,InternetExplorer瀏覽器會採用累積式加速的方法,將你曾經訪問的網頁內容(包括圖片以及cookie文件等)存放在電腦里。這個存放空間,我們就稱它為IE緩存。以後我們每次訪問網站時,IE會首先搜索這個目錄,如果其中已經有訪問過的內容,那IE就不必從網上下載,而直接從緩存中調出來,從而提高了訪問網站的速度。 如何刪除? 1、點擊打開一個IE。 2、點擊菜單欄中的「工具」菜單中的「internet選項」 3、在彈出的對話框中點擊「刪除文件」. 4、在彈出的對話框中」刪除所有離線內容」打勾,之後 點確定. 5、點擊確定後,滑鼠可能會變成比較忙的狀態,這是因為緩存較多的緣故,一般情況下十秒左右滑鼠就會恢復正常。之後再點擊右下角的「確定」退出。這樣電腦IE的緩存就清除完畢了。 另外還可以用windos優化大師刪除
⑵ 在HTTP報文中增加緩存控制和在html的meta中做緩存控制有什麼區別
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletA extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
//servlet頁面默認是不緩存的
//本頁面允許在瀏覽器端或緩存伺服器中緩存,時限為20秒。
//20秒之內重新進入該頁面的話不會進入該servlet的
java.util.Date date = new java.util.Date();
response.setDateHeader("Last-Modified",date.getTime()); //Last-Modified:頁面的最後生成時間
response.setDateHeader("Expires",date.getTime()+20000); //Expires:過時期限值
response.setHeader("Cache-Control", "public"); //Cache-Control來控制頁面的緩存與否,public:瀏覽器和緩存伺服器都可以緩存頁面信息;
response.setHeader("Pragma", "Pragma"); //Pragma:設置頁面是否緩存,為Pragma則緩存,no-cache則不緩存
//不允許瀏覽器端或緩存伺服器緩存當前頁面信息。
/*response.setHeader( "Pragma", "no-cache" );
response.setDateHeader("Expires", 0);
response.addHeader( "Cache-Control", "no-cache" );//瀏覽器和緩存伺服器都不應該緩存頁面信息
response.addHeader( "Cache-Control", "no-store" );//請求和響應的信息都不應該被存儲在對方的磁碟系統中;
response.addHeader( "Cache-Control", "must-revalidate" );*///於客戶機的每次請求,代理伺服器必須想伺服器驗證緩存是否過時;
System.out.println("進入了servlet");
response.getWriter().write("歡迎光臨我的主頁");
}
}
⑶ html怎麼設置http頭部緩存
用於設定網頁的到期時間,一旦過期則必須到伺服器上重新調用。需要注意的是必須使用GMT時間格式;
<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">
用於設定禁止瀏覽器從本地機的緩存中調閱頁面內容,設定後一旦離開網頁就無法從Cache中再調出;
<meta http-equiv="Pragma" contect="no-cache">
⑷ 使用HTTP協議獲取網頁時,為何經常會設置Web緩存(代理伺服器)
網頁下載到本地就會放到硬碟里的,你可以設置ie每次都檢查硬碟里的舊內容的較新版本,就相當於不要緩存了。
⑸ js給jquery.min.js的HTTP請求頭里設置緩存
HTTP緩存控制是通過Cache-Control頭欄位進行的,但是咱先說明白了,你是要在請求里設置,還是在響應里設置,典型情況下是伺服器在響應里設置,可你說要用JS在請求里設置?
⑹ traffic server 怎麼緩存http頁面
客戶端指示
默認情況下,Traffic Server不緩存含有如下請求頭部的對象:
Cache-Control: no-store頭部
Cache-Control: no-cache頭部
配置Traffic Server忽略Cache-Control: no-cache頭部,見Configuring Traffic Server to Ignore Client no-cache Headers。
Cookie: 頭部(文本對象)
默認情況下,Traffic Server緩存為包含cookies請求服務的響應對象(除了文本對象)。可以配置Traffic
Server不緩存任何類型的cookies內容、緩存所有的cookies內容或者只緩存圖片類型的cookies內容。更多信息見Caching
Cookied Objects。
Authorization: 頭部
配置Traffic Server忽略客戶端的no-cache頭部
默認情況下,Traffic Server嚴格遵守客戶端Cache-Control:
no-cache的指示。如果一個被請求的對象包含no-cache頭部,即使它在緩存中仍然有效,Traffic
Server也會將該請求傳遞給源伺服器。可以配置Traffic
Server忽略客戶端no-cache指示,這樣它將忽略客戶端請求的no-cache頭部並用緩存中的對象服務該請求。
配置Traffic Server忽略客戶端的no-cache頭部
1. 在文本編輯器中打開位於Traffic Server的config目錄下的records.config文件。
2. 編輯下面的變數:
變數
描述
proxy.config.http.cache.ignore_client_no_cache
設置這個變數為1來忽略客戶端請求旁路緩存。
3. 保存並關閉records.config文件
4. 定位到Traffic Server的bin目錄
5. 運行traffic_line –x命令來應用配置文件的變更。
源伺服器指示
默認情況下,Traffic Server不緩存包含如下響應頭部的對象:
Cache-Control: no-store頭部
Cache-Control: private頭部
WWW-Authenticate: 頭部
要配置Traffic Server忽略WWW-Authenticate頭部,見Configuring Traffic Server to Ignore WWW-Authenticate Headers。
Set-Cookie: 頭部
Cache-Control: no-cache頭部
要配置Traffic Server忽略no-cache頭部,見Configuring Traffic Server to Ignore Server no-cache Headers。
Expires: 頭部包含0值或過去時間
配置Traffic Server忽略伺服器no-cache頭部
默認情況下,Traffic Server嚴格遵守Cache-Control:
no-cache指示。一個來自源伺服器的帶有no-cache頭部的響應將不會被存儲在緩存,該對象之前在緩存中的拷貝也會被刪除。如果配置
Traffic Server忽略no-cache頭部,Traffic
Server同時也忽略no-store頭部。在大多數情況下是應該遵守no-cache指示的。
配置Traffic Server忽略伺服器no-cache頭部
1. 在文本編輯器中打開位於Traffic Server的config目錄下的records.config文件。
2. 編輯下面的變數:
變數
描述
proxy.config.http.cache.ignore_server_no_cache
設置這個變數為1來忽略伺服器旁路緩存。
3. 保存並關閉records.config文件
4. 定位到Traffic Server的bin目錄
5. 運行traffic_line –x命令來應用配置文件的變更。
配置Traffic Server忽略WWW-Authenticate頭部
默認情況下,Traffic Server不緩存包含WWW-Authenticate響應頭部的對象。WWW-Authenticate頭部包含著客戶端准備用來響應源伺服器挑戰應答的鑒定參數。
當配置Traffic
Server忽略源伺服器的WWW-Authenticate頭部,所有帶WWW-Authenticate頭部的對象將被存儲在緩存中被用來服務後來的
請求,在大多數情況下,應該使用默認的不緩存帶WWW-Authenticate頭部對象的行為。只有在對HTTP
1.1深入理解的基礎上,再嘗試配置Traffic Server忽略伺服器WWW-Authenticate頭部。
配置Traffic Server忽略WWW-Authenticate頭部
1. 在文本編輯器中打開位於Traffic Server的config目錄下的records.config文件。
2. 編輯下面的變數:
變數
描述
proxy.config.http.cache.ignore_authentication
設置這個變數為1來緩存帶WWW-Authenticate頭部的對象。
3. 保存並關閉records.config文件
4. 定位到Traffic Server的bin目錄
5. 運行traffic_line –x命令來應用配置文件的變更。
配置指示
除了客戶端和伺服器的指示,Traffic Server同樣響應配置選項和文件的指示。
可以按如下步驟來配置Traffic Server:
l 不緩存任何對象(見Disabling HTTP Object Caching)。
緩存動態內容 — 對象的URL以.asp結尾或者包含問號(?)、分號(:)或者cgi。更多信息見Caching Dynamic Content。
緩存響應Cookie: 頭部的對象(見Caching Cookied Objects)。
遵守cache.config文件中的從不緩存規則(見cache.config)。
關閉HTTP 對象緩存功能
默認情況下,Traffic Server緩存除了在cache.config文件中設置了從不緩存規則的所有對象。可以關閉HTTP 對象緩存功能,所有的對象都直接由源伺服器服務而且從不緩存。
手動配置關閉HTTP對象緩存功能:
1. 在文本編輯器中打開位於Traffic Server的config目錄下的records.config文件。
2. 編輯下面的變數:
變數
描述
proxy.config.http.cache.http
設置這個變數為0來關閉HTTP對象緩存功能。
3. 保存並關閉records.config文件
4. 定位到Traffic Server的bin目錄
5. 運行traffic_line –x命令來應用配置文件的變更。
緩存動態內容
一個以.asp結尾或包含問號(?)、分號(;)或者cgi的URL被認為是動態的。Traffic Server不緩存冬天內容。可以配置Traffic Server緩存動態內容,當然這只推薦在專門的代理情形下使用。
配置Traffic Server緩存動態內容:
1. 在文本編輯器中打開位於Traffic Server的config目錄下的records.config文件。
2. 編輯下面的變數:
變數
描述
proxy.config.http.cache_urls_that_look_dynamic
設置這個變數為1來緩存動態內容。
3. 保存並關閉records.config文件
4. 定位到Traffic Server的bin目錄
5. 運行traffic_line –x命令來應用配置文件的變更。
緩存Cookied對象
默認情況下,Traffic Server緩存為包含cookies請求服務的響應對象(除了文本對象)。Traffic
Server之所以不緩存文本內容的cookied,是因為對象的頭部和對象是一起存儲的,而帶有隱私的cookie頭部是不能和對象一起保存的。對於非
文本對象,不能確定是否使用了帶有隱私的cookie頭部。
可以配置Traffic Server:
不緩存任何類型的cookies內容。
只緩存圖片類型的cookies內容。
緩存所有的cookies內容。
配置Traffic Server緩存cookied內容的方式:
1. 在文本編輯器中打開位於Traffic Server的config目錄下的records.config文件。
2. 編輯下面的變數:
變數
描述
proxy.config.http.cache.cache_responses_to_cookies
設置這個變數來指定Traffic Server緩存cookied內容的方式:
0 = 不緩存任何cookies響應。
1 = 緩存所有的cookies響應。
2 = 只緩存圖片類型的cookies響應。
3 = 緩存除了文本內容類型的所有cookies響應。
3. 保存並關閉records.config文件
4. 定位到Traffic Server的bin目錄
5. 運行traffic_line –x命令來應用配置文件的變更。
⑺ BT每個HTTP連接磁碟緩存大小如何設置
這個沒有太大的要求了,一般說來軟體的默認設置現在已經調到合理范圍了。如果你是近兩年買的硬碟也不需要擔心因為bt下載損傷硬碟,因為現在的硬碟緩存也比較大了。但是老式的硬碟則需要區別對待。一般有個十幾M就差不多了吧。
⑻ HTTP協議中可以控制緩存的有哪些
通過響應來控制緩存,在響應頭中主要有cache-control、pragma、expires三個響應頭,其中expires是HTTP1.0中的響應頭,後面直接跟一個緩存失效日期,但是伺服器和客戶端之間的時鍾往往不同,因此通過該響應頭來控制緩存失效時間不準確,一般不用,如果要設置客戶端不緩存,則設置響應頭「expires: -1」即可;pragema是HTTP1.1協議為了兼容HTTP1.0+協議,用來控制不緩存,「pragma: no-cache";cache-control是HTTP1.1中的響應頭,其參數為相對的秒值,即過多少秒緩存失效,因此建議使用該響應頭來控制緩存失效時間,其後可以跟的內容有no-cache、no-store、max-age、must-revalidate
為了兼容各個協議版本,要想客戶端不緩存資源,一般都添加三個響應頭:cache-control: no-cache、pragma: no-cache、expires: -1
注意:cache-control: no-cache控制緩存,客戶端是會緩存資源的,只是在於原始伺服器進行再驗證之前不會想客戶端提供資源,也就是資源新鮮度永遠過期,這樣比直接訪問伺服器節省了資源在網路中的傳輸成本,相比開啟緩存增加了再驗證的成本,性能失效介於兩者之間;要想客戶端緩存不從響應中拷貝資源副本,則應該使用cache-control: no-store,使用該響應頭內容也可以讓緩存立即刪除已經拷貝的副本;而must-revalidate是伺服器希望緩存能嚴格遵守過期信息,一般情況下類似no-cache,但在緩存與原始伺服器進行新鮮度驗證的時候,原始伺服器不可用,這將會導致這一段時間中訪問該資源會504 gateway timeout,因此建議使用no-cache
⑼ 如何正確設置Web緩存
在網路里傳輸的每個文件都有mime類型這是http協議裡面的,伺服器必須正確設置,就是將後綴名不同的文件的mime設置為不同,具體怎麼設置可以上網查詢。
#號後面的是注釋,你隨便寫刪掉也可以,明白么,一般寫上時間和版本是為了調試,因為你改了你的程序文件,瀏覽器還會從緩存裡面獲取,你必須更改你的manifest文件,瀏覽器才會更新本地文件,而更改manifest文件的方式你可以自己定義,最好的方法就是設置注釋每次更改注釋
⑽ asp.net怎麼設置瀏覽器客戶端緩存
1. Expires:+過期時間
表示在指定時間後瀏覽器緩存失效,需要注意的是這兒的過期時間必須是HTTP格式的日期時間,其他的都會被解析成當前時間「之前」,緩存會馬上過期,HTTP的日期時間必須是格林威治時間(GMT),而不是本地時間。舉例: