最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2023年12月29日 09:54:57   作者:陳賝  
這篇文章主要介紹了幾句話說清session,cookie和token的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(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ù)器收到請求,首先拿到客戶端的sessionID,然后從服務(wù)器內(nèi)存中查詢它所代表的客戶端(用戶名,用戶組,有哪些權(quán)限等)。)

session保存在服務(wù)器

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

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

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

整體的流程是這樣的:

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

三、為何誕生這些

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

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

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

總結(jié)

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

相關(guān)文章

  • springboot調(diào)用webservice-soap接口的實(shí)現(xiàn)

    springboot調(diào)用webservice-soap接口的實(shí)現(xiàn)

    接口協(xié)議目前廣泛使用的有http協(xié)議和RPC協(xié)議和webservice,本文主要介紹了springboot調(diào)用webservice-soap接口的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • JAVA SFTP文件上傳、下載及批量下載實(shí)例

    JAVA SFTP文件上傳、下載及批量下載實(shí)例

    本篇文章主要介紹了JAVA SFTP文件上傳、下載及批量下載實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • java怎么連接并訪問activemq

    java怎么連接并訪問activemq

    這篇文章主要介紹了java怎么連接并訪問activemq,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Java實(shí)現(xiàn)手寫線程池實(shí)例并測試詳解

    Java實(shí)現(xiàn)手寫線程池實(shí)例并測試詳解

    這篇文章主要來模擬一下線程池和工作隊(duì)列的流程,以及編寫代碼和測試類進(jìn)行測試。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • IDEA maven compile報(bào)錯(cuò)OutOfMemoryError(內(nèi)存溢出)解決及jvm分析

    IDEA maven compile報(bào)錯(cuò)OutOfMemoryError(內(nèi)存溢出)解決及jvm分析

    遇到Maven編譯時(shí)報(bào)OutOfMemoryError錯(cuò)誤通常因?yàn)槟J(rèn)的堆內(nèi)存大小不足,本文就來介紹一下OutOfMemoryError(內(nèi)存溢出)解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-10-10
  • SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析

    SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析

    這篇文章主要介紹了SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析, 加了@ControllerAdvice的類為那些聲明了@ExceptionHandler、@InitBinder或@ModelAttribute注解修飾的 方法的類而提供的專業(yè)化的@Component,以供多個(gè) Controller類所共享,需要的朋友可以參考下
    2024-01-01
  • springboot Junit 執(zhí)行順序詳解

    springboot Junit 執(zhí)行順序詳解

    這篇文章主要介紹了springboot Junit 執(zhí)行順序,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java?List排序?qū)嵗a詳解

    Java?List排序?qū)嵗a詳解

    這篇文章主要介紹了Java?List排序的相關(guān)資料,Java排序方法包括自然排序、自定義排序、Lambda簡化及多條件排序,實(shí)現(xiàn)靈活且代碼簡潔,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • 二叉樹遞歸迭代及morris層序前中后序遍歷詳解

    二叉樹遞歸迭代及morris層序前中后序遍歷詳解

    這篇文章主要為大家介紹了二叉樹遞歸迭代詳解及二叉樹的morris遍歷、層序遍歷、前序遍歷、中序遍歷、后序遍歷示例分析,有需要的朋友可以借鑒參考下
    2021-11-11
  • itext生成PDF設(shè)置頁眉頁腳的實(shí)例詳解

    itext生成PDF設(shè)置頁眉頁腳的實(shí)例詳解

    這篇文章主要介紹了itext生成PDF設(shè)置頁眉頁腳的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09

最新評論

资兴市| 洛阳市| 华宁县| 镇平县| 江山市| 密山市| 太白县| 理塘县| 土默特左旗| 阿拉善左旗| 绿春县| 漳浦县| 赤城县| 平湖市| 永丰县| 巴塘县| 霸州市| 盐亭县| 从化市| 仁化县| 泸西县| 延长县| 开封市| 枣庄市| 商河县| 孝昌县| 清流县| 政和县| 巴东县| 屯留县| 措勤县| 太康县| 赤峰市| 鹤峰县| 阿拉善左旗| 同仁县| 平南县| 台东市| 固镇县| 赫章县| 赣榆县|