SessionCookie

      網(wǎng)友投稿 794 2025-04-04

      Session和Cookie


      Session和Cookie的基本原理

      Session

      Cookie

      Session和Cookie的區(qū)別

      在瀏覽網(wǎng)站的過程中,我們經(jīng)常會遇到需要登錄的情況,有些頁面需要登陸之后才能訪問,而且登錄之后可以連續(xù)訪問很多次網(wǎng)站,但是可能過一段時(shí)間就要重新登錄。還有一些網(wǎng)站再打開瀏覽器時(shí)就自動登錄了,而且長時(shí)間都不會失效。這里就涉及到Session和Cookie。

      Session和Cookie的基本原理

      Session和Cookie是用于保持HTTP連接狀態(tài)的技術(shù)。在網(wǎng)頁或App等應(yīng)用中基本都會使用到,在爬蟲中,也會經(jīng)常遇到需要寫到Cookie應(yīng)對一般的反爬,下面分別對Session和Cookie的基本原理做簡要講解。

      Session

      Session代表服務(wù)器與瀏覽器的一次會話過程,這個(gè)過程可以是連續(xù)的,也可以是時(shí)斷時(shí)續(xù)的。Session是一種服務(wù)器端的機(jī)制,Session對象用來存儲特定用戶會話所需的信息。Session由服務(wù)端生成,保存在服務(wù)器的內(nèi)存、緩存、硬盤或數(shù)據(jù)庫中。

      Session的基本原理

      (1)當(dāng)用戶訪問一個(gè)服務(wù)器,如果服務(wù)器啟用Session,服務(wù)器就要為該用戶創(chuàng)建一個(gè)Session,在創(chuàng)建Session時(shí),服務(wù)器首先檢查這個(gè)用戶發(fā)來的請求里是否包含了一個(gè)Session ID,如果包含則說明之前該用戶已經(jīng)登陸過并為此用戶創(chuàng)建過Session,那么服務(wù)器就按照Session ID把這個(gè)Session在服務(wù)器的內(nèi)存中查找出來。

      (2)如果客戶端請求中不包含Session ID,則為該客戶端創(chuàng)建一個(gè)Session并生成一個(gè)與Session相關(guān)的Session ID。要求這個(gè)Session ID是唯一的、不易尋找規(guī)律的字符串,這個(gè)Session ID將在本次響應(yīng)中返回到客戶端保存,而保存這個(gè)Session ID的正是Cookie,這樣在交互過程中瀏覽器可以自動地按照規(guī)則把這個(gè)標(biāo)識發(fā)送給服務(wù)器。

      Cookie

      因?yàn)镠TTP是無狀態(tài)的,即服務(wù)器不知道用戶上一次做了什么,這嚴(yán)重阻礙了交互式Web應(yīng)用程序的實(shí)現(xiàn)。在典型的網(wǎng)上購物場景中,用戶通過頁面購買了一些商品,等到結(jié)賬時(shí),由于HTTP的無狀態(tài)性,不通過額外的手段,服務(wù)器并不知道用戶到底買了什么。為此,就需要用到Cookie。服務(wù)器可以設(shè)置或讀取Cookie中包含的信息,借此維護(hù)用戶與服務(wù)器會話中的狀態(tài)。

      Cookie是有服務(wù)器生成后發(fā)送給客戶端(通常是瀏覽器)的,Cookie總是保存在客戶端中,按在客戶端中的存儲位置,可分為內(nèi)存Cookie和硬盤Cookie。

      (1)內(nèi)存Cookie:由瀏覽器維護(hù),保存在內(nèi)存中,瀏覽器關(guān)閉后就消失了,其存在時(shí)間是短暫的。

      Session和Cookie

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

      Cookie的基本原理

      (1)創(chuàng)建Cookie:當(dāng)用戶第一次瀏覽某個(gè)使用Cookie的網(wǎng)站時(shí),該網(wǎng)站的服務(wù)器就進(jìn)行如下工作:給該用戶生成一個(gè)唯一的識別碼(Cookie ID),創(chuàng)建一個(gè)Cookie對象;默認(rèn)情況下,它是一個(gè)會話級別的Cookie,存儲在瀏覽器的內(nèi)存中,用戶退出瀏覽器之后被刪除。如果網(wǎng)站希望瀏覽器將該Cookie存儲在磁盤上,則需要設(shè)置最大時(shí)效(maxAge),并給出一個(gè)以秒為單位的時(shí)間(其中將最大時(shí)效設(shè)為0則是命令瀏覽器刪除該Cookie);然后將Cookie放入HTTP響應(yīng)報(bào)頭,將Cookie插入一個(gè)Set-Cookie HTTP請求報(bào)頭中。最終發(fā)送該HTTP響應(yīng)報(bào)文。

      (2)設(shè)置存儲Cookie:瀏覽器收到該響應(yīng)報(bào)文后,根據(jù)報(bào)文頭里的Set-Cookie特殊的指示,生成相應(yīng)的Cookie,保存在客戶端。該Cookie中記錄著用戶當(dāng)前的信息。

      (3)發(fā)送Cookie:當(dāng)用戶再次訪問該網(wǎng)站時(shí),瀏覽器首先檢查所有存儲的Cookie,如果存在該網(wǎng)站的Cookie(即該Cookie所聲明的作用范圍大于等于將要請求的資源),則把該Cookie附在請求資源的HTTP請求頭上發(fā)送給服務(wù)器。

      (4)讀取Cookie:服務(wù)器接收到用戶的HTTP請求保存之后,從報(bào)文頭獲取到該用戶的Cookie,從中找到所需要的內(nèi)容。

      Cookie的基本原理圖

      Session和Cookie的區(qū)別

      首先Session是存儲在服務(wù)器端的,Cookie是存儲在客戶端的,所以Session的安全性要高于Cookie。再者,我們獲取的Session中的信息是通過存放在會話Cookie中的Session ID獲取的,因?yàn)镾ession是存放在服務(wù)器中的,所以Session中的信息不斷增加服務(wù)器的負(fù)擔(dān),我們會把一些重要的信息放在Session中,不太重要的信息放在客戶端Cookie中,Cookie分為兩大類,會話Cookie和持久化Cookie,他們的生命周期和瀏覽器是一致的,瀏覽器關(guān)了會話Cookie也就消失了,而持久話Cookie會存儲在客戶端硬盤中。當(dāng)瀏覽器關(guān)閉時(shí)會話Cookie也就消失了,所以Session也就消失了,Session在什么情況下丟失,就是在服務(wù)器關(guān)閉時(shí),或者Session過期時(shí)(默認(rèn)30分鐘)。

      HTTP 網(wǎng)絡(luò)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Linux之文件目錄類指令基本使用
      下一篇:臺積預(yù)計(jì)在2023年就能夠月產(chǎn)晶圓10萬片
      相關(guān)文章
      亚洲天堂男人影院| 国产亚洲av片在线观看播放| 亚洲中文字幕在线观看| 亚洲av无码乱码在线观看野外| 亚洲中文无码卡通动漫野外| 亚洲日韩乱码中文无码蜜桃| 亚洲视频国产视频| 久久久婷婷五月亚洲97号色| 亚洲AV电影院在线观看| 亚洲精品高清国产一久久| 亚洲av中文无码乱人伦在线r▽| 亚洲色欲色欲www在线丝| 亚洲色欲色欲www在线丝| 国产亚洲高清不卡在线观看| 亚洲国产精品无码专区影院| 亚洲国产精彩中文乱码AV| 国产亚洲一区二区手机在线观看 | 成人亚洲国产va天堂| 亚洲最大福利视频| 亚洲色欲色欱wwW在线| 亚洲欧美日韩中文无线码 | 久久亚洲精品高潮综合色a片| 久久亚洲精品高潮综合色a片| 狠狠综合亚洲综合亚洲色| 一区国严二区亚洲三区| 亚洲成a人片在线观看国产| 亚洲人成电影网站国产精品| 久久亚洲国产成人影院网站| 亚洲人成精品久久久久| 亚洲AV综合色一区二区三区| 亚洲日本在线观看| 亚洲国产成人精品无码区在线秒播| 亚洲乱码中文论理电影| 亚洲日韩一区二区三区| 国产精品亚洲一区二区三区在线观看 | 色欲色欲天天天www亚洲伊| 亚洲国产精品自产在线播放| 伊人久久精品亚洲午夜| 亚洲毛片在线观看| 亚洲精品国产国语| 亚洲XX00视频|