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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

网络:.cookie和session原理及区别

發布時間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络:.cookie和session原理及区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Cookie詳解

(1)簡介

?

因為HTTP協議是無狀態的,即服務器不知道用戶上一次做了什么,這嚴重阻礙了交互式Web應用程序的實現。在典型的網上購物場景中,用戶瀏覽了幾個頁面,買了一盒餅干和兩飲料。最后結帳時,由于HTTP的無狀態性,不通過額外的手段,服務器并不知道用戶到底買了什么。為了做到這點,就需要使用到Cookie了。服務器可以設置或讀取Cookies中包含信息,借此維護用戶跟服務器會話中的狀態。

Cookie(復數形態:Cookies),是指某些網站為了辨別用戶身份、進行session跟蹤儲存在用戶本地終端上的數據(通常經過加密)。

Cookie是由服務端生成的,發送給客戶端(通常是瀏覽器)的。Cookie總是保存在客戶端中,按在客戶端中的存儲位置,可分為內存Cookie和硬盤Cookie:

?

?

內存Cookie由瀏覽器維護,保存在內存中,瀏覽器關閉后就消失了,其存在時間是短暫的。

?

?

硬盤Cookie保存在硬盤里,有一個過期時間,除非用戶手工清理或到了過期時間,硬盤Cookie不會被刪除,其存在時間是長期的。所以,按存在時間,可分為非持久Cookie和持久Cookie。

?

?

(2)工作原理

1、創建Cookie

當用戶第一次瀏覽某個使用Cookie的網站時,該網站的服務器就進行如下工作:

①該用戶生成一個唯一的識別碼(Cookie id),創建一個Cookie對象

②默認情況下它是一個會話級別的cookie,存儲在瀏覽器的內存中,用戶退出瀏覽器之后被刪除。如果網站希望瀏覽器將該Cookie存儲在磁盤上,則需要設置最大時效(maxAge),并給出一個以秒為單位的時間(將最大時效設為0則是命令瀏覽器刪除該Cookie);

③將Cookie放入到HTTP響應報頭,將Cookie插入到一個 Set-Cookie HTTP請求報頭中。

?

④發送該HTTP響應報文。

2、設置存儲Cookie

?

瀏覽器收到該響應報文之后,根據報文頭里的Set-Cookied特殊的指示,生成相應的Cookie,保存在客戶端。該Cookie里面記錄著用戶當前的信息。

3、發送Cookie

?

當用戶再次訪問該網站時,瀏覽器首先檢查所有存儲的Cookies,如果某個存在該網站的Cookie(即該Cookie所聲明的作用范圍大于等于將要請求的資源),則把該cookie附在請求資源的HTTP請求頭上發送給服務器。

4、讀取Cookie

?服務器接收到用戶的HTTP請求報文之后,從報文頭獲取到該用戶的Cookie,從里面找到所需要的東西。

(3)作用

Cookie的根本作用就是在客戶端存儲用戶訪問網站的一些信息。典型的應用有:

1、記住密碼,下次自動登錄。

2、購物車功能。

3、記錄用戶瀏覽數據,進行商品(廣告)推薦。

(4)缺陷

①Cookie會被附加在每個HTTP請求中,所以無形中增加了流量。

②由于在HTTP請求中的Cookie是明文傳遞的,所以安全性成問題。(除非用HTTPS)

③Cookie的大小限制在4KB左右。對于復雜的存儲需求來說是不夠用的。

?

二、Session詳解

(1)簡介

Session代表服務器與瀏覽器的一次會話過程,這個過程是連續的,也可以時斷時續的。Session是一種服務器端的機制,Session 對象用來存儲特定用戶會話所需的信息。

?

Session由服務端生成,保存在服務器的內存、緩存、硬盤或數據庫中。

(2)工作原理

1、創建Session

當用戶訪問到一個服務器,如果服務器啟用Session,服務器就要為該用戶創建一個SESSION,在創建這個SESSION的時候,服務器首先檢查這個用戶發來的請求里是否包含了一個SESSION ID,如果包含了一個SESSION ID則說明之前該用戶已經登陸過并為此用戶創建過SESSION,那服務器就按照這個SESSION ID把這個SESSION在服務器的內存中查找出來(如果查找不到,就有可能為他新創建一個),如果客戶端請求里不包含有SESSION ID,則為該客戶端創建一個SESSION并生成一個與此SESSION相關的SESSION ID。這個SESSION ID是唯一的、不重復的、不容易找到規律的字符串,這個SESSION ID將被在本次響應中返回到客戶端保存,而保存這個SESSION ID的正是COOKIE,這樣在交互過程中瀏覽器可以自動的按照規則把這個標識發送給服務器。?

2、使用Session

我們知道在IE中,我們可以在工具的Internet選項中把Cookie禁止,那么會不會出現把客戶端的Cookie禁止了,那么SESSIONID就無法再用了呢?找了一些資料說明,可以有其他機制在COOKIE被禁止時仍然能夠把Session id傳遞回服務器。

經常被使用的一種技術叫做URL重寫,就是把Session id直接附加在URL路徑的后面一種是作為URL路徑的附加信息,表現形式為:?

http://…./xxx;jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764;?

另一種是作為查詢字符串附加在URL后面,表現形式為:?

http://…../xxx?jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764?

還有一種就是表單隱藏字段。就是服務器會自動修改表單,添加一個隱藏字段,以便在表單提交時能夠把Session id傳遞回服務器。

(3)作用

?

Session的根本作用就是在服務端存儲用戶和服務器會話的一些信息。典型的應用有:

1、判斷用戶是否登錄。

2、購物車功能。

?

三、Cookie和Session的區別

1、存放位置不同

Cookie保存在客戶端,Session保存在服務端。

2 、存取方式的不同

?Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二進制數據,需求先進行編碼。Cookie中也不能直接存取Java對象。若要存儲略微復雜的信息,運用Cookie是比擬艱難的。?

而Session中能夠存取任何類型的數據,包括而不限于String、Integer、List、Map等。Session中也能夠直接保管Java Bean乃至任何Java類,對象等,運用起來十分便當。能夠把Session看做是一個Java容器類。?

3、安全性(隱私策略)的不同?

Cookie存儲在瀏覽器中,對客戶端是可見的,客戶端的一些程序可能會窺探、復制以至修正Cookie中的內容。而Session存儲在服務器上,對客戶端是透明的,不存在敏感信息泄露的風險。 假如選用Cookie,比較好的方法是,敏感的信息如賬號密碼等盡量不要寫到Cookie中。最好是像Google、Baidu那樣將Cookie信息加密,提交到服務器后再進行解密,保證Cookie中的信息只要本人能讀得懂。而假如選擇Session就省事多了,反正是放在服務器上,Session里任何隱私都能夠有效的保護。?

4、有效期上的不同?

只需要設置Cookie的過期時間屬性為一個很大很大的數字,Cookie就可以在瀏覽器保存很長時間。 由于Session依賴于名為JSESSIONID的Cookie,而Cookie JSESSIONID的過期時間默許為–1,只需關閉了瀏覽器(一次會話結束),該Session就會失效。

5、對服務器造成的壓力不同?

Session是保管在服務器端的,每個用戶都會產生一個Session。假如并發訪問的用戶十分多,會產生十分多的Session,耗費大量的內存。而Cookie保管在客戶端,不占用服務器資源。假如并發閱讀的用戶十分多,Cookie是很好的選擇。

6、?跨域支持上的不同?

Cookie支持跨域名訪問,例如將domain屬性設置為“.baidu.com”,則以“.baidu.com”為后綴的一切域名均能夠訪問該Cookie。跨域名Cookie如今被普遍用在網絡中。而Session則不會支持跨域名訪問Session僅在他所在的域名內有效。?

僅運用Cookie或者僅運用Session可能完成不了理想的效果。這時應該嘗試一下同時運用Cookie與Session。Cookie與Session的搭配運用在實踐項目中會完成很多意想不到的效果。
?

參考文獻:

1、細說Cookie?http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html#_label4

2、描述Cookie和Session的作用,區別和各自的應用范圍,cookie、Session工作原理。

http://www.360doc.com/content/11/0706/15/3639038_131844581.shtml

3、深入理解HTTP Session?http://lavasoft.blog.51cto.com/62575/275589/

4、Web應用中的Session知多少?http://www.blogjava.net/ohyeah928/archive/2010/01/27/310952.html

5、Cookie和Session的區別-總結很好的文章?http://www.lai18.com/content/407204.html

6、Cookie/Session機制詳解?http://blog.csdn.net/fangaoxin/article/details/6952954

7、老生常談session,cookie的區別,安全性?http://blog.51yip.com/php/938.html

8、Session和Cookie的區別及Session的生命周期?http://blog.csdn.net/shuaishenkkk/article/details/8634917

總結

以上是生活随笔為你收集整理的网络:.cookie和session原理及区别的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 黄色片xxx | a天堂在线视频 | 91久久精品一区二区别 | 国产熟女一区二区三区五月婷 | 日韩一区二区三区av | 免费毛片在线播放免费 | 在线观看免费黄视频 | 日韩欧美视频二区 | 欧美精品成人一区二区在线观看 | 亚洲视频网址 | 色爱AV综合网国产精品 | 日韩一区二区毛片 | 99视屏| 2021亚洲天堂 | 亚洲国产精一区二区三区性色 | 成人av软件 | 在线看黄网| 色婷婷中文 | 久久国产精品系列 | 欧美黄色免费看 | 成人国产亚洲 | 噜噜色综合 | 在线视频观看 | 日韩专区视频 | 一区二区美女 | 精品无码免费视频 | 免费麻豆 | 97在线观看| 精品人妻互换一区二区三区 | 精品国产自在精品国产精小说 | 亚洲精品成a人 | 熟妇高潮喷沈阳45熟妇高潮喷 | 国产肥熟 | 免费观看av | 中文字幕一区二区精品 | 久久韩国| 少妇高潮一区二区三区在线 | 国产成人无码a区在线观看视频 | 欧美激情校园春色 | 日日碰日日操 | 可以在线观看的黄色 | 美女100%无挡 | 在线观看欧美一区二区 | 日韩久久久久久久久久 | 精品少妇久久久 | 欧美激情综合五月色丁香 | 麻豆www.| 日本黄色片 | 欧美丰满少妇人妻精品 | 天天伊人网 | 一区二区三区日韩 | 农村末发育av片一区二区 | 美女隐私无遮挡免费 | 99热久久这里只有精品 | 国产白袜脚足j棉袜在线观看 | 校花被c到呻吟求饶 | www男人天堂| 欧美日韩高清一区二区 | 亚洲欧美日韩成人 | 美女一区二区三区 | 69xxxx日本 | 欧美女同视频 | 这里只有精品国产 | 中文字幕一区二区人妻电影丶 | 色偷偷av | 奇米色777| 2024国产精品视频 | 国产一级免费观看 | 锕锕锕锕锕锕锕锕 | 亚洲日本护士毛茸茸 | 男男做爰猛烈啪啪高 | 放几个免费的毛片出来看 | 精品欧美国产 | 久久久久中文字幕 | 中国美女一级看片 | 国产无毛av | 色999在线观看 | 日日精| 交专区videossex另类 | 99视频精品免费 | 精品国产一区二区三区在线 | 五月天中文字幕av | 国产成人精品一区二区三 | 亚洲爽妇网 | 日韩一区二区三区不卡视频 | 成人在线观看免费高清 | 香港日本韩国三级网站 | 日本不卡一区视频 | 久久夫妻视频 | 桃色视频 | 先锋影音av资源在线观看 | 久久九精品 | 亚洲视频一二三四 | 曰女同女同中文字幕 | 国产chinese男男gaygay视频 | 日韩一及片 | 在线第一页| 国产成人麻豆精品午夜在线 | 成人性生交大片免费卡看 |