宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見(jiàn)問(wèn)題
產(chǎn)品動(dòng)態(tài)
精選推薦

了解Session、LocatStorage、Cache-Control、ETag區(qū)別

管理 管理 編輯 刪除

一、cookie與session有什么區(qū)別?

1. 由于HTTP協(xié)議是無(wú)狀態(tài)的協(xié)議,所以服務(wù)端需要記錄用戶的狀態(tài)時(shí),就需要用某種機(jī)制來(lái)識(shí)具體的用戶,這個(gè)機(jī)制就是Session.典型的場(chǎng)景比如購(gòu)物車,當(dāng)你點(diǎn)擊下單按鈕時(shí),由于HTTP協(xié)議無(wú)狀態(tài),所以并不知道是哪個(gè)用戶操作的,所以服務(wù)端要為特定的用戶創(chuàng)建了特定的Session,用用于標(biāo)識(shí)這個(gè)用戶,并且跟蹤用戶,這樣才知道購(gòu)物車?yán)锩嬗袔妆緯?shū)。這個(gè)Session是保存在服務(wù)端的,有一個(gè)唯一標(biāo)識(shí)。在服務(wù)端保存Session的方法很多,內(nèi)存、數(shù)據(jù)庫(kù)、文件都有。集群的時(shí)候也要考慮Session的轉(zhuǎn)移,在大型的網(wǎng)站,一般會(huì)有專門(mén)的Session服務(wù)器集群,用來(lái)保存用戶會(huì)話,這個(gè)時(shí)候 Session 信息都是放在內(nèi)存的,使用一些緩存服務(wù)比如Memcached之類的來(lái)放 Session。

2. 思考一下服務(wù)端如何識(shí)別特定的客戶?這個(gè)時(shí)候Cookie就登場(chǎng)了。每次HTTP請(qǐng)求的時(shí)候,客戶端都會(huì)發(fā)送相應(yīng)的Cookie信息到服務(wù)端。實(shí)際上大多數(shù)的應(yīng)用都是用 Cookie 來(lái)實(shí)現(xiàn)Session跟蹤的,第一次創(chuàng)建Session的時(shí)候,服務(wù)端會(huì)在HTTP協(xié)議中告訴客戶端,需要在 Cookie 里面記錄一個(gè)Session ID,以后每次請(qǐng)求把這個(gè)會(huì)話ID發(fā)送到服務(wù)器,我就知道你是誰(shuí)了。有人問(wèn),如果客戶端的瀏覽器禁用了 Cookie 怎么辦?一般這種情況下,會(huì)使用一種叫做URL重寫(xiě)的技術(shù)來(lái)進(jìn)行會(huì)話跟蹤,即每次HTTP交互,URL后面都會(huì)被附加上一個(gè)諸如 sid=xxxxx 這樣的參數(shù),服務(wù)端據(jù)此來(lái)識(shí)別用戶。

3. Cookie其實(shí)還可以用在一些方便用戶的場(chǎng)景下,設(shè)想你某次登陸過(guò)一個(gè)網(wǎng)站,下次登錄的時(shí)候不想再次輸入賬號(hào)了,怎么辦?這個(gè)信息可以寫(xiě)到Cookie里面,訪問(wèn)網(wǎng)站的時(shí)候,網(wǎng)站頁(yè)面的腳本可以讀取這個(gè)信息,就自動(dòng)幫你把用戶名給填了,能夠方便一下用戶。這也是Cookie名稱的由來(lái),給用戶的一點(diǎn)甜頭。所以,總結(jié)一下:Session是在服務(wù)端保存的一個(gè)數(shù)據(jù)結(jié)構(gòu),用來(lái)跟蹤用戶的狀態(tài),這個(gè)數(shù)據(jù)可以保存在集群、數(shù)據(jù)庫(kù)、文件中;Cookie是客戶端保存用戶信息的一種機(jī)制,用來(lái)記錄用戶的一些信息,也是實(shí)現(xiàn)Session的一種方式。

二、什么是session?

服務(wù)器通過(guò)cookie給用戶一個(gè)sessionID,

sessionID對(duì)應(yīng)服務(wù)器里的一小塊內(nèi)存,

每次用戶訪問(wèn)服務(wù)器的時(shí)候,服務(wù)器就通過(guò)sessionID去讀取對(duì)應(yīng)的session,來(lái)知道用戶的隱私信息

面試的時(shí)候怎么回答cookie和session的特點(diǎn):

c2142202303291048304045.png

三、localStorage是什么?

是html5技術(shù)提供的一個(gè)API,

session是服務(wù)器上的哈希表

localStorage的實(shí)質(zhì)就是一個(gè)哈希表,是瀏覽器上的哈希表

`localStorage.setItem()` 接受兩個(gè)參數(shù),可以存一個(gè)key、value,只能以字符串的形式存

如果要存一個(gè)對(duì)象,可以用JSON.stringify進(jìn)行轉(zhuǎn)化

`localStorage.getItem()` 可以獲取值,只接受一個(gè)name

`localStorage.clear()` 不接受參數(shù),清空key、value

都是用來(lái)操作當(dāng)前頁(yè)面里面的哈希表

localStorage不存在與頁(yè)面里,它存在C盤(pán)的一個(gè)文件里

session的缺點(diǎn)就是占內(nèi)存

應(yīng)用:

場(chǎng)景:頁(yè)面更新,提示用戶,但是只提醒一次,用戶二次進(jìn)入(刷新)的時(shí)候不需要提示

d6410202303291048415374.png

localStroage與sessionStroage的區(qū)別

sessionStroage與session沒(méi)有關(guān)系

669c9202303291048555608.png

四、session與Cookie什么關(guān)系

一般來(lái)說(shuō)session是基于Cookie實(shí)現(xiàn)的,反過(guò)來(lái)說(shuō)cookie是session的基石

以為session必須把sessionID放進(jìn)cookie里再發(fā)送給客戶端

session大部分時(shí)間是基于Cookie來(lái)存儲(chǔ)ID的,但是它也可以通過(guò)查詢參數(shù)和localStroage來(lái)存儲(chǔ)它的ID

五、localStroage與Cookie的區(qū)別

cookie每次會(huì)帶給服務(wù)器,localStroage不會(huì)帶給服務(wù)器,它與HTTP無(wú)關(guān)

cookie最大4k,loaclStroage5MB左右

六、了解Cache-Control

HTTP緩存,web優(yōu)化(常識(shí))

將某文件緩存至本地

`response.setHeather(‘Cache-Control’,'max-age=30')`將文件在本地保留30s,刷新不會(huì)請(qǐng)求,30s后刷新重新請(qǐng)求,一般`max-age`要設(shè)置久一點(diǎn)例如十年!300000000(闊怕?。?/span>

但是,瀏覽器覺(jué)得你存那么久也沒(méi)啥用,一般一年以后就幫你清了

你問(wèn)有什么后果嗎?

沒(méi)有!反正也沒(méi)bug,也就是加載可能慢一點(diǎn)點(diǎn)而已

615c8202303291049106861.png

首頁(yè)不會(huì)使用使用cache-contorl

如果要升級(jí)css或js就在后面加上一個(gè)查詢參數(shù)

如`https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js`

更新后:`https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js?v=2`這樣的話`max-age=30'`就會(huì)失效

- Expires和Cache-Control有什么區(qū)別

Expires設(shè)置的是時(shí)間點(diǎn)

Cache-Control設(shè)置的是時(shí)間長(zhǎng)度

如果同時(shí)設(shè)置有限使用Cache-Control

Cache-Control是升級(jí)后才有的,10幾年前都是用Expires控制緩存

`Expires: Wed, 21 Oct 2015 07:28:00 GMT`因?yàn)樗玫谋镜貢r(shí)間,如果時(shí)間錯(cuò)亂了,那你就完了

七、了解MD5 (訊息摘要算法)

一種被廣泛使用的密碼雜湊函數(shù),可以產(chǎn)生出一個(gè)128位元的散列值(hash value),用于確保信息傳輸完整一致

舉個(gè)栗子:

假如你在網(wǎng)上下載了一個(gè)軟件,有300M,然而你不知道你下載的是不是和它的300M一樣

這時(shí)就需要有個(gè)MD5,如果你們兩個(gè)的MD5值一樣,那么說(shuō)明你下載的300M===它的300M

文件差異越小,MD5的差異越大

八、了解ETag

用cache-Control是不請(qǐng)求,ETage是直接不下載,但還是有請(qǐng)求,但是響應(yīng)體是空的

打開(kāi)一個(gè)網(wǎng)頁(yè),初次打開(kāi)會(huì)有一個(gè)ETag,

以后再打開(kāi)它的時(shí)候請(qǐng)求里有一個(gè)if-none-match響應(yīng)頭,后面跟的就是MD5

08279202303291049294388.png

請(qǐng)登錄后查看

徐斗明 最后編輯于2023-09-13 14:16:04

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無(wú)簡(jiǎn)介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
1232
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見(jiàn)問(wèn)題 產(chǎn)品動(dòng)態(tài) 精選推薦 首頁(yè)頭條 首頁(yè)動(dòng)態(tài) 首頁(yè)推薦
取 消 確 定
回復(fù)
回復(fù)
問(wèn)題:
問(wèn)題自動(dòng)獲取的帖子內(nèi)容,不準(zhǔn)確時(shí)需要手動(dòng)修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請(qǐng)輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊(cè)

切換手機(jī)號(hào)登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊(cè)
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開(kāi)源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服