第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求教大神一個關(guān)于PHP問題,session與cookie的區(qū)別?

求教大神一個關(guān)于PHP問題,session與cookie的區(qū)別?

慕工程0101907 2019-11-11 14:10:18
php中session與cookie的區(qū)別?
查看完整描述

3 回答

?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

cookie是網(wǎng)站保存在本地的信息,可以通過瀏覽器清除cookie來清除
session可以理解為在服務器的cookie,不會隨用戶清除一般數(shù)據(jù)而消失,session失效一般為三種情況:
第一種是會話結(jié)束
第二種是服務器設(shè)置了session的失效時間
第三種為用戶清除了特征數(shù)據(jù),如保存在cookie中的sessionID,導致服務器認為這是一個新用戶,分配了一個新的session,從而導致了原session失效
總而言之,cookie是存放在用戶本地的,session是存放在服務器的,所以cookie可以節(jié)省服務器資源,但是安全性不如session,session更加安全,但是會占用服務器資源

查看完整回答
反對 回復 2019-11-17
?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

這兩者,區(qū)別和聯(lián)系其實也挺深奧的,總是了解一些皮毛,每次都得上網(wǎng)查,今天寫下來,每隔段時間就看看,加深記憶。
Session是由應用服務器維持的一個服務器端的存儲空間,用戶在連接服務器時,會由服務器生成一個唯一的SessionID,用該SessionID 為標識符來存取服務器端的Session存儲空間。而SessionID這一數(shù)據(jù)則是保存到客戶端,用Cookie保存的,用戶提交頁面時,會將這一 SessionID提交到服務器端,來存取Session數(shù)據(jù)。這一過程,是不用開發(fā)人員干預的。所以一旦客戶端禁用Cookie,那么Session也會失效。

服務器也可以通過URL重寫的方式來傳遞SessionID的值,因此不是完全依賴Cookie。如果客戶端Cookie禁用,則服務器可以自動通過重寫URL的方式來保存Session的值,并且這個過程對程序員透明。

可以試一下,即使不寫Cookie,在使用request.getCookies();取出的Cookie數(shù)組的長度也是1,而這個Cookie的名字就是JSESSIONID,還有一個很長的二進制的字符串,是SessionID的值。

大家都知道,http是無狀態(tài)的協(xié)議,客戶每次讀取web頁面時,服務器都打開新的會話,而且服務器也不會自動維護客戶的上下文信息,那么要怎么才能實現(xiàn)網(wǎng)上商店中的購物車呢,session就是一種保存上下文信息的機制,它是針對每一個用戶的,變量的值保存在服務器端,通過SessionID來區(qū)分不同的客戶,session是以cookie或URL重寫為基礎(chǔ)的,默認使用cookie來實現(xiàn),系統(tǒng)會創(chuàng)造一個名為JSESSIONID的輸出cookie,叫做session cookie,以區(qū)別persistent cookies,也就是通常所說的cookie,注意session cookie是存儲于瀏覽器內(nèi)存中的,并不是寫到硬盤上的,這也就是剛才看到的JSESSIONID,通常情是看不到JSESSIONID的,但是當把瀏覽器的cookie禁止后,web服務器會采用URL重寫的方式傳遞Sessionid,就可以在地址欄看到sessionid=KWJHUG6JJM65HS2K6之類的字符串。

明白了原理,就可以很容易的分辨出persistent cookies和session cookie的區(qū)別了,網(wǎng)上那些關(guān)于兩者安全性的討論也就一目了然了,session cookie針對某一次會話而言,會話結(jié)束session cookie也就隨著消失了,而persistent cookie只是存在于客戶端硬盤上的一段文本(通常是加密的),而且可能會遭到cookie欺騙以及針對cookie的跨站腳本攻擊,自然不如session cookie安全了。

通常session cookie是不能跨窗口使用的,新開了一個瀏覽器窗口進入相同頁面時,系統(tǒng)會賦予一個新的sessionid,這樣信息共享的目的就達不到了,此時可以先把sessionid保存在persistent cookie中,然后在新窗口中讀出來,就可以得到上一個窗口SessionID了,這樣通過session cookie和persistent cookie的結(jié)合就實現(xiàn)了跨窗口的session tracking(會話跟蹤)。

在一些web開發(fā)的書中,往往只是簡單的把Session和cookie作為兩種并列的http傳送信息的方式,session cookies位于服務器端,persistent cookie位于客戶端,可是session又是以cookie為基礎(chǔ)的,明白的兩者之間的聯(lián)系和區(qū)別,就不難選擇合適的技術(shù)來開發(fā)web service了。



查看完整回答
反對 回復 2019-11-17
?
慕的地8271018

TA貢獻1796條經(jīng)驗 獲得超4個贊

  session與cookie的區(qū)別:
  1: session的內(nèi)容存在文件里的話,文件在哪兒?
  答: 由 session.save_path = "D:/tmp",
  如果不指定, 默認放在 C:/windows/temp, Linux下默認在 "/tmp"目錄
  2: cookie和session的關(guān)系
  答:cookie可以用來存儲 session_id
  tangram_guid_1357433851419 思路: 如果cookie被瀏覽器禁用,又怎么辦?
  3: session.use_cookies = 1
  這個選項是告訴服務器: 用cookie存儲session_id
  session.use_only_cookies = 0 ,是否只用cookie來傳session_id
  session.use_trans_sid = 1 // 設(shè)置地址欄session_id
  4: cookie與session的關(guān)系
  答:cookie用來存儲和傳遞session_id
  如果禁用了cookie,可不可以用session?
  答:可以, 其次,我們可以通過javascript再檢測瀏覽器是否支持cookie,并提示用戶打開cookie
  5:session的默認生命周期是多久?
  答:關(guān)閉瀏覽器就失效 原因:因為session_id存在于cookie,而默認情況,cookie關(guān)閉瀏覽器即失敗.
  6: 如何設(shè)置session生命周期為30分鐘呢?
  答:session.cookie_lifetime = 1800 php.ini來設(shè)置
  7:http://localhost/0415/set.php , 設(shè)置session,
  請問,該session值在哪些路徑下生效??
  答: 傳session_id用的cookie在哪生效,session就在哪兒生效
  7.5:傳session_id的cookie又在哪兒生效呢?
  答: 默認是在'/'目錄下生效
  區(qū)別: cookie默認在設(shè)置的目錄下生效,而session默認在/目錄下生效
  8: 如果設(shè)置傳session_id的cookie的有效路徑呢?
  答:session.cookie_path = /, 這兒可以設(shè)置



查看完整回答
反對 回復 2019-11-17
  • 3 回答
  • 0 關(guān)注
  • 553 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號