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

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

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

管理 管理 編輯 刪除

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

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

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

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

二、什么是session?

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

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

每次用戶訪問服務(wù)器的時候,服務(wù)器就通過sessionID去讀取對應(yīng)的session,來知道用戶的隱私信息

面試的時候怎么回答cookie和session的特點:

c2142202303291048304045.png

三、localStorage是什么?

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

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

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

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

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

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

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

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

localStorage不存在與頁面里,它存在C盤的一個文件里

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

應(yīng)用:

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

d6410202303291048415374.png

localStroage與sessionStroage的區(qū)別

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

669c9202303291048555608.png

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

一般來說session是基于Cookie實現(xiàn)的,反過來說cookie是session的基石

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

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

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

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

cookie最大4k,loaclStroage5MB左右

六、了解Cache-Control

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

將某文件緩存至本地

`response.setHeather(‘Cache-Control’,'max-age=30')`將文件在本地保留30s,刷新不會請求,30s后刷新重新請求,一般`max-age`要設(shè)置久一點例如十年!300000000(闊怕!)

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

你問有什么后果嗎?

沒有!反正也沒bug,也就是加載可能慢一點點而已

615c8202303291049106861.png

首頁不會使用使用cache-contorl

如果要升級css或js就在后面加上一個查詢參數(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'`就會失效

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

Expires設(shè)置的是時間點

Cache-Control設(shè)置的是時間長度

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

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

`Expires: Wed, 21 Oct 2015 07:28:00 GMT`因為他用的本地時間,如果時間錯亂了,那你就完了

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

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

舉個栗子:

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

這時就需要有個MD5,如果你們兩個的MD5值一樣,那么說明你下載的300M===它的300M

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

八、了解ETag

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

打開一個網(wǎng)頁,初次打開會有一個ETag,

以后再打開它的時候請求里有一個if-none-match響應(yīng)頭,后面跟的就是MD5

08279202303291049294388.png

請登錄后查看

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

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

{{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 || '暫無簡介'}}
附件

{{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}}
1251
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

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

微信登錄/注冊

切換手機(jī)號登錄

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

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

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服