cookie與session的優缺比較,麻煩比較詳細點

2021-12-18 21:09:38 字數 2361 閱讀 6544

1樓:

cookie和session有很多相似的地方,都是用來臨時儲存來訪者資訊,有很多情況下,使用兩者都可以實現某些特定功能,而兩者的根本區別是cookie物件將資訊存放在客戶端,session物件存放在伺服器端;從生存期上講,cookie可以長期儲存,而session的生存期僅僅到會話結束;

在asp.net中,**設計者可以選擇session的儲存位置,可以儲存在伺服器端的記憶體中,也可以存放在sql server資料庫中,若要儲存到資料庫中需要在config.web檔案中指明資料庫的位置;還可以將session儲存在狀態伺服器中,狀態伺服器可以單獨地存放session物件的內容,即使asp.

net伺服器程序失敗,狀態伺服器也可以儲存session資訊.預設模式是存放在伺服器端記憶體中.但大量的資料會增加伺服器的負荷.

cookie儲存在客戶端,使用者可以看到cookie檔案,並能對cookie檔案進行類似修改、刪除的操作,cookie資料的安全性很難得到保障;而session資料儲存在伺服器端,有較好的安全性,若和資料庫配合使用,可以使session資料長期保持,並得到很好的安全性.

2樓:蘭色海空

session:儲存使用者訪問的全域性唯一變數,儲存在伺服器上的php指定的目錄中的(session_dir)的位置進行的存放

cookie:用來儲存連續訪問乙個頁面時所使用,是儲存在客戶端,對於cookie來說是儲存在使用者win的temp目錄中的。

兩者都可通過時間來設定時間長短。

3樓:js小學徒

存放地點不同:乙個存放在客戶端,乙個存放在伺服器端

儲存時間不同:乙個在客戶端可以隨時刪除,也可以選擇長久儲存(客戶端使用者做主),而session只在乙個瀏覽器視窗中存活,且一般週期為20分鐘。

簡述 cookie和session的區別和優缺點

4樓:易依白

具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。

cookie的優缺點:

優點:極高的擴充套件性和可用性

通過良好的程式設計,控制儲存在cookie中的session物件的大小。

通過加密和安全傳輸技術(ssl),減少cookie被破解的可能性。

只在cookie中存放不敏感資料,即使被盜也不會有重大損失。

控制cookie的生命期,使之不會永遠有效。偷盜者很可能拿到乙個過期的cookie。

缺點:cookie數量和長度的限制。每個domain最多只能有20條cookie,每個cookie長度不能超過4kb,否則會被截掉。

安全性問題。如果cookie被人攔截了,那人就可以取得所有的session資訊。即使加密也與事無補,因為攔截者並不需要知道cookie的意義,他只要原樣**cookie就可以達到目的了。

有些狀態不可能儲存在客戶端。例如,為了防止重複提交表單,我們需要在伺服器端儲存乙個計數器。如果我們把這個計數器儲存在客戶端,那麼它起不到任何作用。

session的優缺點:

優點如果要在諸多web頁間傳遞乙個變數,那麼用session變數要比通過querystring傳遞變數可使問題簡化。

要使web站點具有使用者化,可以考慮使用session變數。你的站點的每位訪問者都有使用者化的經驗,基於此,隨著ldap和諸如ms site

server等的使用,已不必再將所有使用者化過程置入session變數了,而這個使用者化是取決於使用者喜好的。

你可以在任何想要使用的時候直接使用session變數,而不必事先宣告它,這種方式接近於在vb中變數的使用。使用完畢後,也不必考慮將其釋放,因為它將自動釋放。

缺點session變數和cookies是同一型別的。如果某使用者將瀏覽器設定為不相容任何cookie,那麼該使用者就無法使用這個session變數!

當乙個使用者訪問某頁面時,每個session變數的執行環境便自動生成,這些session變數可在使用者離開該頁面後仍保留20分鐘!(事實上,這些變數一直可保留至「timeout」。「timeout」的時間長短由web伺服器管理員設定。

一些站點上的變數僅維持了3分鐘,一些則為10分鐘,還有一些則保留至預設值20分鐘。)所以,如果在session中置入了較大的物件(如ado

recordsets,connections, 等等),那就有麻煩了!隨著站點訪問量的增大,伺服器將會因此而無法正常執行!

因為建立session變數有很大的隨意性,可隨時呼叫,不需要開發者做精確地處理,所以,過度使用session變數將會導致**不可讀而且不好維護。

雖然「你可以在任何想要使用的時候直接使用session變數,而不必事先宣告它,這種方式接近於在vb中變數的使用。使用完畢後,也不必考慮將其釋放,因為它將自動釋放」。但是,「誰」想到那兒呢?

變數的含義是什麼?這些都變得不很清晰。

cookie和session的區別是什麼

我不喜抄,直接說區別吧!cookie用於互動時存放在客戶端,即使用你臨時資料夾中不存在cookie,但在你的瀏覽器程序中會臨時儲存你的cookie session是互動時存放在服務端,即使用不儲存,也在服務程序中。如果你對網頁有互動,伺服器如何在眾多請求中能識別你那是曾經的哪一個?這依賴於你傳遞上來...

Jquery中怎樣取得Session中的值

你要想在bai頁面取這個值的話可以用du乙個隱藏域zhi來接收這個值dao。string param string.empty 頁面後台申請 內變數param session userid tostring 窗體容載入事件裡給變數賦上session的值 頁面放隱藏域得到值 var userid hi...

如何檢視 谷歌瀏覽器的cookie

檢視chrome的cookie,進行和修改。下面採用兩種方式 第一種 安裝chrome的eidt this cookie 外掛程式,非常方便的檢視 修改 刪除當前頁面的cookie 推薦使用edit this cookie 方便快捷 第二種 如果只想檢視頁面cookie。那麼和簡單,在你的要檢視的c...