當前位置:首頁 » 文件管理 » 瀏覽器的緩存機制

瀏覽器的緩存機制

發布時間: 2022-02-08 15:11:00

Ⅰ 前端緩存都有哪些方法,有什麼區別

瀏覽器緩存機制可以減少網路開銷,以便獲得更好的用戶體驗。在前端中常用的緩存有cookie及html中的localStorage和sessionStorage。
1、cookie、localStorage、sessionStorage區別和聯系
共同點:都是保存在瀏覽器端,且同源的。
區別:
1)cookie數據始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和伺服器間來回傳遞。而sessionStorage和localStorage不會自動把數據發給伺服器,僅在本地保存。
2)cookie數據還有路徑(path)的概念,可以限制cookie只屬於某個路徑下。存儲大小限制也不同,cookie數據不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合保存很小的數據,如會話標識。
sessionStorage和localStorage 雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大。
3)數據有效期不同:
sessionStorage:僅在當前瀏覽器窗口關閉前有效,自然也就不可能持久保持;
localStorage:始終有效,窗口或瀏覽器關閉也一直保存,因此用作持久數據;
cookie只在設置的cookie過期時間之前一直有效,即使窗口或瀏覽器關閉。
4)作用域不同:
不同瀏覽器無法共享localStorage或sessionStorage中的信息。相同瀏覽器的不同頁面間可以共享相同的localStorage(頁面屬於相同域名和埠),但是不同頁面或標簽頁間無法共享sessionStorage的信息
cookie是在所有同源窗口中都是共享的
2、禁用cookie後,會出現什麼現象?
一般情況session是需要cookie配合使用的,但是有些瀏覽器禁用cookie後,就需要使用其他方式來實現回話管理。
在客戶端禁用Cookie的時候,我們要怎麼做呢,可以有以下兩種方法
URL重寫或者隱藏域(暴露信息不安全,一般不用)
· 設置php.ini中的session.use_trans_sid = 1或者在PHP編譯時打開–enable-trans-sid選項,讓PHP自動通過重寫URL傳遞session id。
· 如果是虛擬主機或者租用的伺服器,無法去修改PHP.ini,那麼可以手動通過URL傳值,或者通過隱藏表單傳遞session id。說簡單些就是自己去操縱sessionid這個唯一標識符,去鑒別用戶即可。
3、登陸信息一般放在session中,cookie還有用嗎?
有用,session會將sessionId存到cookie,再次請求時將sessionId隨請求頭給伺服器,然後拿到sessionId進行查詢即可。也就是說身份信息不會暴露在瀏覽器緩存中。只有sessionId暴露,提高安全性。
4、前端存cookie與後端存cookie有什麼區別?
前端可以通過document.cookie來設置cookie,但是這種方式會暴露信息,除非hash加密
伺服器接受到http請求後在響應頭加上Set-Cookie欄位,它的值是要設置的Cookie的

Ⅱ 九種瀏覽器端緩存方法知多少

一、http緩存
  http緩存是基於HTTP協議的瀏覽器文件級緩存機制。即針對文件的重復請求情況下,瀏覽器可以根據協議頭判斷從伺服器端請求文件還是從本地讀取文件,chrome控制台下的Frames即展示的是瀏覽器的http文件級緩存。以下是瀏覽器緩存的整個機制流程。主要是針對重復的http請求,在有緩存的情況下判斷過程主要分3步:
判斷expires,如果未過期,直接讀取http緩存文件,不發http請求,否則進入下一步
判斷是否含有etag,有則帶上if-none-match發送請求,未修改返回304,修改返回200,否則進入下一步
判斷是否含有last-modified,有則帶上if-modified-since發送請求,無效返回200,有效返回304,否則直接向伺服器請求
  
如果通過etag和last-modified判斷,即使返回304有至少有一次http請求,只不過返回的是304的返回內容,而不是文件內容。所以合理設計實現expires參數可以減少較多的瀏覽器請求。
二、websql
   websql這種方式只有較新的chrome瀏覽器支持,並以一個獨立規范形式出現,主要有以下特點
Web Sql 資料庫API 實際上不是HTML5規范的組成部分;
在HTML5之前就已經存在了,是單獨的規范;
它是將數據以資料庫的形式存儲在客戶端,根據需求去讀取;
跟Storage的區別是: Storage和Cookie都是以鍵值對的形式存在的;
Web Sql 更方便於檢索,允許sql語句查詢;
讓瀏覽器實現小型資料庫存儲功能;
這個資料庫是集成在瀏覽器裡面的,目前主流瀏覽器基本都已支持;
  websql API主要包含三個核心方法:
openDatabase : 這個方法使用現有資料庫或創建新資料庫創建資料庫對象。
transaction : 這個方法允許我們根據情況控制事務提交或回滾。
executeSql : 這個方法用於執行真實的SQL查詢。
   openDatabase方法可以打開已經存在的資料庫,不存在則創建
var db = openDatabase('mydatabase', '2.0', my db', 2 * 1024);
  openDatabasek中五個參數分別為:資料庫名、版本號、描述、數據

Ⅲ 以下哪些是http請求中瀏覽器緩存機制會用到的協議頭

你想下載哪一種嘛?我感覺手機用UC比較好。我一直用的UC

Ⅳ html5的application cache 與老的緩存機制有什麼不同

application cache 特性已經從 Web 標准中刪除,雖然一些瀏覽器目前仍然支持它,但也許會在未來的某個時間停止支持,請盡量不要使用該特性。

application cache 允許通過緩存清單文件緩存指定文件。你說的老的緩存機制不太了解,大概是通過伺服器與瀏覽器之間的協議來指定緩存的文件

Ⅳ 網站的緩存問題

這可能是1個bug,
當再次登錄該網站,既然顯示的是登錄後的狀態,那麼在你執行相關操作的時候,是需要觸發登錄框的。這個邏輯才合理。

再說一下「session」吧,
(1)當你登錄網站,會創建1個session,當你退出登錄的時候,這個session就過期了。再次訪問這個網站,會顯示登錄前的界面。

(2)但是當你沒有「退出登錄」,而僅僅是直接關閉了瀏覽器,那麼伺服器端在一段時間之後才會讓這個session過期。
(2.1)意思是說,假如伺服器端設置的這個session的過期時間是10分鍾,那麼當你在關閉了瀏覽器後的5分鍾重新訪問這個網站,是顯示的「已登錄狀態」;
(2.2)那麼當你第11分鍾訪問這個網站的時候,就顯示是「非登錄狀態」了。

所以,我認為這個可能是網站的一個bug。

Ⅵ 能用JS或者前端的什麼方法實現清除瀏覽器緩存嗎

可以用JS實現清除瀏覽器緩存,解決方法如下:

1、在靜態頁面也就是以.html,.jsp,.aspx,.php結尾的文件中在<dead></head>中加入以下代碼。


注意事項:

javaScriptJavaScript基於對象和事件驅動並具有相對安全性的客戶端腳本語言。也是一種廣泛用於客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。

Ⅶ java web緩存機制

資料庫緩存 還是 瀏覽器緩存?

Ⅷ 九種瀏覽器端緩存機制知多少

  1. http緩存

  2. websql

  3. indexDB

  4. cookie

  5. localstorage

  6. sessionstorage

  7. application cache

  8. cacheStorage

  9. flash緩存

Ⅸ html和html5緩存機制有什麼不同

HTML5 的應用緩存最關鍵的就是支持離線應用,可獲取少數或者全部網站內容,包括 HTML、CSS、圖像和 JavaScript 腳本並存在本地。該特性加速了網站的性能,可通過如下方式實現:

<!doctype html>
<html manifest="example.appcache">
.....
</html>

與傳統的瀏覽器緩存比較,該特性並不強制要求用戶訪問網站。

Ⅹ 瀏覽器的緩存裡面有歷史記錄嗎

如果你之前有登錄的話,是不是升級之後需要在登錄一次,才能看到瀏覽記錄

熱點內容
手機按鍵精靈連點器腳本源碼 發布:2024-10-23 21:27:03 瀏覽:817
android藍牙20 發布:2024-10-23 21:26:21 瀏覽:407
linux時間段文件夾 發布:2024-10-23 21:18:26 瀏覽:557
linux網卡服務重啟 發布:2024-10-23 21:03:32 瀏覽:92
lvslinux 發布:2024-10-23 21:02:28 瀏覽:472
mysql存儲對象 發布:2024-10-23 20:54:40 瀏覽:716
c語言返回參數 發布:2024-10-23 20:40:55 瀏覽:234
qt編譯boost 發布:2024-10-23 20:33:10 瀏覽:567
bat命令復制文件夾 發布:2024-10-23 20:32:29 瀏覽:16
安裝mysql後怎麼配置 發布:2024-10-23 20:31:11 瀏覽:941