亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

幾句話說清session,cookie和token的區(qū)別及說明

 更新時(shí)間:2023年12月29日 09:54:57   作者:陳賝  
這篇文章主要介紹了幾句話說清session,cookie和token的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、cookie和session實(shí)際上是同一套認(rèn)證流程,相輔相成

cookie保存在客戶端

(通常保存session的sessionID,這個(gè)sessionID是一個(gè)毫無規(guī)則的隨機(jī)數(shù),由服務(wù)器在客戶端登錄通過后隨機(jī)生產(chǎn)的。

客戶端每次訪問該網(wǎng)站都要帶上這個(gè)由sessionID組成的cookie。

服務(wù)器收到請(qǐng)求,首先拿到客戶端的sessionID,然后從服務(wù)器內(nèi)存中查詢它所代表的客戶端(用戶名,用戶組,有哪些權(quán)限等)。)

session保存在服務(wù)器

(用于記錄客戶狀態(tài),比如我們經(jīng)常會(huì)用session保存客戶的基本信息、權(quán)限信息等)

二、token則可以服務(wù)器完全不用保存任何登錄信息

客戶端可以將Token保存到任何地方,無限制,無狀態(tài),利于分布式部署。

整體的流程是這樣的:

  • 客戶端使用用戶名、密碼做身份驗(yàn)證;
  • 服務(wù)端收到請(qǐng)求后進(jìn)行身份驗(yàn)證;(也可能是統(tǒng)一登錄平臺(tái)、網(wǎng)關(guān))
  • 驗(yàn)證成功后,服務(wù)端會(huì)生成一堆客戶端身份信息,包括用戶名、用戶組、有那些權(quán)限、過期時(shí)間等等。這個(gè)整體就叫做token。簽發(fā)一個(gè)Token后返回給客戶端;
  • 客戶端收到Token以后可以把它存儲(chǔ)起來(可以放在隨意的數(shù)據(jù)庫(kù)中,例如Redis);每次向服務(wù)端發(fā)送請(qǐng)求的時(shí)候,都要帶著Token;
  • Token會(huì)有過期時(shí)間,過期后需要重新進(jìn)行驗(yàn)證;
  • 服務(wù)端收到請(qǐng)求,會(huì)驗(yàn)證客戶端請(qǐng)求里面的Token,驗(yàn)證成功,才會(huì)響應(yīng)客戶端的請(qǐng)求;

三、為何誕生這些

由于HTTP無狀態(tài)的特性,如果要實(shí)話客戶端和服務(wù)器端的會(huì)話保持,那就需要其它機(jī)制來實(shí)現(xiàn),于是Cookie和Session應(yīng)運(yùn)而生。

Session和Cookie機(jī)制來保持會(huì)話,會(huì)存在一個(gè)問題:客戶端瀏覽器只要保存自己的SessionID即可,而服務(wù)器卻要保存所有用戶的Session信息,這對(duì)于服務(wù)器來說開銷較大,而且不利用服務(wù)器的擴(kuò)展(比如服務(wù)器集群時(shí),Session如何同步存儲(chǔ)就是個(gè)問題)!

于是有人思考,如果把Session信息讓客戶端來保管而且無法偽造不就可以解決這個(gè)問題了?進(jìn)而有了Token機(jī)制。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java的MoreSuppliers工具類方法解析

    Java的MoreSuppliers工具類方法解析

    這篇文章主要介紹了Java的MoreSuppliers工具類方法解析,MoreSuppliers類是一個(gè)Java工具類,它提供了一些增強(qiáng)的Supplier函數(shù),使得Supplier執(zhí)行的結(jié)果可以被緩存,真正的調(diào)用只執(zhí)行一次,需要的朋友可以參考下
    2024-01-01
  • java中類和對(duì)象的詳細(xì)介紹

    java中類和對(duì)象的詳細(xì)介紹

    這篇文章主要給大家介紹了關(guān)于java中類和對(duì)象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • SpringMVC框架post提交數(shù)據(jù)庫(kù)出現(xiàn)亂碼解決方案

    SpringMVC框架post提交數(shù)據(jù)庫(kù)出現(xiàn)亂碼解決方案

    這篇文章主要介紹了SpringMVC框架post提交數(shù)據(jù)庫(kù)出現(xiàn)亂碼解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot深入探究四種靜態(tài)資源訪問的方式

    SpringBoot深入探究四種靜態(tài)資源訪問的方式

    這一節(jié)詳細(xì)的學(xué)習(xí)一下SpringBoot的靜態(tài)資源訪問相關(guān)的知識(shí)點(diǎn)。像這樣的知識(shí)點(diǎn)還挺多,比如SpringBoot2的Junit單元測(cè)試等等。本章我們來了解靜態(tài)資源訪問的四種方式
    2022-05-05
  • Java中可變長(zhǎng)度參數(shù)代碼詳解

    Java中可變長(zhǎng)度參數(shù)代碼詳解

    這篇文章主要介紹了Java中可變長(zhǎng)度參數(shù)代碼詳解,涉及了實(shí)參個(gè)數(shù)可變的定義方法,數(shù)組包裹實(shí)參等幾個(gè)問題,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • 對(duì)Mapper 中幾種update的區(qū)別說明

    對(duì)Mapper 中幾種update的區(qū)別說明

    這篇文章主要介紹了對(duì)Mapper 中幾種update的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java和MySQL數(shù)據(jù)庫(kù)中關(guān)于小數(shù)的保存問題詳析

    Java和MySQL數(shù)據(jù)庫(kù)中關(guān)于小數(shù)的保存問題詳析

    在Java和MySQL中小數(shù)的精度可能會(huì)受到限制,如float類型的小數(shù)只能精確到6-7位,double類型也只能精確到15-16位,這篇文章主要給大家介紹了關(guān)于Java和MySQL數(shù)據(jù)庫(kù)中關(guān)于小數(shù)的保存問題,需要的朋友可以參考下
    2024-01-01
  • 簡(jiǎn)單談?wù)凧ava中String類型的參數(shù)傳遞問題

    簡(jiǎn)單談?wù)凧ava中String類型的參數(shù)傳遞問題

    這篇文章主要介紹了簡(jiǎn)單談?wù)凧ava中String類型的參數(shù)傳遞問題的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • swing jtextArea滾動(dòng)條和文字縮放效果

    swing jtextArea滾動(dòng)條和文字縮放效果

    這篇文章主要為大家詳細(xì)介紹了swing jtextArea滾動(dòng)條和文字縮放效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • SpringBoot中的@DependsOn注解詳解

    SpringBoot中的@DependsOn注解詳解

    這篇文章主要介紹了SpringBoot中的@DependsOn注解詳解,
    2023-08-08

最新評(píng)論