今天咱們來聊聊cookie

2021-10-22 22:38:23 字數 1212 閱讀 3810

例子就是我們日常生活中非常熟悉的星馬克喝咖啡

大意如下(簡單粗暴的翻譯,見諒):

1、我喜歡咖啡,或者你也喜歡咖啡。

我平均每兩個星期去一次星巴克:檢視選單、選擇咖啡、拿到咖啡、付錢。

如果我三天之後再去星巴克,店員不知道我是誰,也不知道我什麼時候來過這裡,點過什麼咖啡。仍然是按照上面的流程喝咖啡。

這種情況下,我和星巴克之間是無狀態的。

現在,如何設計乙個系統,能夠讓星巴克和我之間有狀態的?

也就是星巴克能夠記得我上一次來喝咖啡是什麼什麼時候?

能讓星巴克記住我最喜歡喝的10種咖啡飲品?

那就是星巴克會員卡。這種會員卡就像我們的session和cookies.

星巴克的會員卡有兩個作用:

1、對於星巴克來說,這是你這個使用者的身份id。

你進入星巴克店後,通過這張卡,星巴克知道你上一次來來店裡的時間,知道你最喜歡喝的10種咖啡飲品,獲取你所有在星巴克的消費記錄。

2、對於你來說,這是你隨身帶著,進入星巴克的身份識別。

對於軟體系統來說:

web瀏覽器 就相當於 你

web伺服器 就相當於 星巴克

會員卡用來建立你和星巴克之間的聯絡

cookies用來建立web瀏覽器和web伺服器之間的聯絡。

以上簡要的解釋了cookies.那麼cookies從何而來?

你在星巴克第一次建立會員關係時,你需要向星巴克提供你的相關資訊,星巴克才能夠生成一張id卡給你。

同樣,第一次與web伺服器建立關係時,也需要向伺服器提供你的資訊。

在這裡,就是使用者的許可權帳號和密碼了。

所以我們需要通用使用者名稱和密碼資訊的提交,來獲取伺服器給我們提供的cookies.

然後在後續的獲取使用者其它資訊的請求中,帶上cookies。(神馬是http請求,請自行度娘)

所以cookie是由伺服器返回給客戶端的。

我們在平時在登陸乙個**後,長時間不操作,再次去操作就會自動跳出重新登入的提示,為神馬?

因為。。

cookie也是有有效期的。

長時間不與服務端交流交流,人家就忘了你啦。。所以,需要你重新提供身份證明。

當然了,cookie不止儲存了我們這裡講的身份id,還會儲存與本次會話相關的一些其它資訊。

好啦!分享完畢。小夥伴們,你們看懂了嗎?

今天來聊聊事務傳播行為

俺是個粗人,那麼俺就用最白話的語言來說說俺心目中的事務傳播行為。事務這個我在此部落格的其他帖子中也有專門說過 通俗的理解就是,乙個需要做多件事的乙個任務。事務是具有原子性,同乙個事務中,所有的事情要麼都沒做,要麼都做完了。這樣說就應該理解了事務,那麼事務的傳播行為就可以很好理解了。用具體的業務場景,...

咱們聊聊艙壁模式

艙壁模式 bulkhead 隔離了每個工作負載或服務的關鍵資源,如連線池 記憶體和cpu。使用艙壁避免了單個工作負載 或服務 消耗掉所有資源,從而導致其他服務出現故障的場景。這種模式主要是通過防止由乙個服務引起的級聯故障來增加系統的彈性。工業中使用艙壁將船舶劃分為幾個部分,以便在船體破壞的情況下,可...

今天聊聊虛擬化

一 虛擬化含義 虛擬化,簡單的說就是在一台電腦上虛擬出多台電腦的過程,這些虛擬出現的裝置也就是我們所說的 虛擬機器 virtualmachine 虛擬機器其實是由幾個系統檔案所組成的,這些檔案大多用來虛擬實體組間或者配置資訊。虛擬化的過程都是通過乙個叫做虛擬化管理程式 以下簡稱hypervisor ...