日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cookie 和 Session的区别

發布時間:2025/6/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cookie 和 Session的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cookies和session這兩個東西經常會在面試當中問到,算是比較基礎的知識,但是還是需要做一下深入理解。

Session

  • Session的概念
    Session:在計算機中,尤其是在網絡應用當中,被稱為“會話控制”。Session
    對象存儲特定用戶會話所需的屬性及配置信息。

    當程序需要為某個客戶端的請求創建一個session時,服務器首先檢查這個客戶端的請求里是否已包含了一個session標識(稱為SessionID),如果已包含則說明以前已經為此客戶端創建過session,服務器就按照SessionID把這個session檢索出來使用(檢索不到,會新建一個),如果客戶端請求不包含SessionID,則為此客戶端創建一個session并且生成一個與此session相關聯的SessionID,SessionID的值應該是一個既不會重復,又不容易被找到規律以仿造的字符串,用來唯一標識session,這個SessionID將會在本次響應中返回給客戶端保存。

  • Session的生命周期
    Session保存在服務器端,為了獲取更高的存取速度,服務器一般會把Session放在內存里面,每個用戶都會有一個獨立的Session。如果Session里面的內容太過復雜,當大量的用戶訪問服務器時,可能會導致內存溢出,所以我們的Cookie內容應當適當的精簡。當我們第一次訪問服務器時,服務器會給我們自動創建一個Session,生成session后,只要用戶繼續訪問,服務器就會更新session的最后訪問時間,并且維護這個session。當用戶訪問服務器一次,無論是否讀寫了session,服務器都會認定這個session活躍(active)了一次。

    當越來越多的用戶訪問我們的服務器時,因此我們的session會越來越多。為了防止內存溢出,服務器會把長時間沒有活躍的Session刪除。這個時間就是session的超時時間,過了超時時間,我們的session就會自動失效

  • Cookie

  • Cookie概念
    Cookie 可以翻譯為“小甜品,小餅干” ,Cookie在網絡系統中幾乎無處不在,當我們瀏覽以前訪問過的網站時,網頁中可能會出現 :你好XXX,這會讓我們感覺很親切,就好像吃了一個小甜品一樣。這其實是通過訪問主機中的一個文件來實現的,這個文件就是 Cookie。在Internet 中,Cookie 實際上是指小量信息,是由 Web服務器創建的,將信息存儲在用戶計算機上的文件。一般網絡用戶習慣用其復數形式 Cookies,指某些網站為了辨別用戶身份、進行Session 跟蹤而存儲在用戶本地終端上的數據,而這些數據通常會經過加密處理。
  • Cookie的不可跨域名性
    很多網站都會使用cookie,不同瀏覽器采用不同的方式保存Cookie,而且每個網站的Cookie只能夠被對應的網站使用。意思就是說當瀏覽器訪問Baidu時,只會帶Baidu的cookie,而不會帶其他網站的Cookie,這就是Cookie的不可跨域名性。
    Cookie在客戶端是由瀏覽器來管理的。瀏覽器可以保證各個網站只能操作各個網站的Cookie,從而保證用戶的隱私安全。
  • Cookie的內容
    cookie的主要內容包括名字,值,過期時間,域和路徑。域和路徑一起構成cookie的作用范圍。cookie如果不設置過期時間的話,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏覽器,這個cookie就會消失。這種生命期為瀏覽器會話期的Cookie被稱為會話cookie。會話Cookie一般不保存在硬盤上而是保存在內存里,這種行為并不是規范規定的。如果Cookie設置了過期時間,瀏覽器就會把cookie保存到硬盤上,即使瀏覽器關閉了,這些cookie還是會一直有效直到過了過期時間。
  • Cookie的修改和刪除
    Cookie并沒有提供修改和刪除操作,要想修改某一個Cookie只需要新建一個同名的Cookie,添加到請求里面去覆蓋原來的Cookie。刪除也是如此,只需要將要刪除的Cookie的過期時間設置成現在時間的之前就可以了,然后再覆蓋原來的Cookie。需要注意的是:要修改的和要刪除Cookie的名字(name),域名(domain)和路徑(Path)等除了值(value)和過期時間這兩個屬性之外必須和原來完全一樣。否則,瀏覽器就會將請求里面的Cookie設為新的Cookie,相當于覆蓋失敗,也就是刪除和修改失敗了。
  • Session和Cookie的區別

  • cookie數據存放在客戶端,session數據放在服務器上。
  • cookie不是很安全,別人可以分析存放在本地的Cookie并進行Cookie欺騙考慮到安全應當使用session。
  • session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能考慮到減輕服務器性能方面,應當使用Cookie。
  • 單個Cookie保存的數據長度不能超過4K,很多瀏覽器都限制一個網址最多保存20個cookie。
  • 總結

    以上是生活随笔為你收集整理的Cookie 和 Session的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。