当前位置:网站首页>The differences and connections among cookies, sessions, JWT, and tokens
The differences and connections among cookies, sessions, JWT, and tokens
2022-07-05 06:45:00 【Wei Yunshu】
Cookie、Session、JWT、Token Differences and connections
List of articles
http Stateless request
- Network communication uses http agreement , There is no correlation between each request
Access interface requires authentication
- The back-end interface cannot be exposed to the outside , Only authenticated requests can be accessed , Common authentication methods such as : User name, password 、 SMS verification code , but http It's stateless , Every request requires authentication ;
- You don't want to enter your user name and password every time you send a request , You can put the user name and password in the browser , But once the browser is attacked , All passwords will be revealed ;
Cookie
- There is a store in the browser Cookie The place of ,Cookie It can store <key,value> This key value pair , You can also store the corresponding expiration date , And the corresponding access domain address , When the user accesses the domain name , Just get the corresponding cookie;
- When the user accesses the establishment request with the user name and password for the first time , The server can put the user name and password in cookie among , When the browser is next used , You can log in directly , But this is no different from streaking , It's very unsafe ;
Session
- The server memory stores the client status information , After client access , Create a unique identifier session_id And other corresponding information , Stored locally , And put this session_id Put it in the returned cookie among , Return to browser ; The next time the browser accesses the service , Just take it session_id As identification , Server and storage session_id compare ; When... In the server session_id The expiration date is up , The corresponding expired , If the user exits , In the browser cookie Delete accordingly
JWT
JWT(Json web token) It's made up of three parts :
- Header : describe JWT Metadata . Defines the algorithm to generate the signature and Token The type of .
- Payload( load ): It is used to store the data that needs to be transferred
- Signature( Signature ): Server pass Payload、Header And a key (secret) Use Header The signature algorithm specified in ( The default is HMAC SHA256) Generate .
After the user logs in , Server generation JWT, Put some insensitive information on JWT Of Payload among , Send it back to the user ;
The user will get JWT As your own identity information , Direct login ; But such JWT User controlled , Before it fails , The server has no control permission ;
Token
- A string that does not carry specific information , Store user information in Redis or Mysql Wait in memory ,Token As its key
- The user login , take Token Return to the user , After each login, first pass token Read user information , Then check it ;
Refresh Token
- Token Have time limit ,Refresh Token The actual effect is slightly longer ,Token After the failure , use Refresh Token Refresh Token, keep Token The continuity of
Three questions :
Cookie Store as a client 、session Store as a server , take Session_id As the association between client and server , Client pass Session_id Verify your login status ;Cookie( user name + Encrypted password ) And JWT So like ;Cookie/session And token So like , What is the main difference between them ?
Session Stored in a single server , When users are online at the same time, the amount is ,Session It takes up more memory ; And when the website adopts cluster deployment , Multiple servers need to share user login status . That will Session Put it in mysql Don't you just store it in ?
Cookie There will be cross domain problems ,token There is no cross domain problem , Then why not Cookie As a token The use of ?
边栏推荐
- La redirection de l'applet Wechat ne déclenche pas onload
- 5.Oracle-表空间
- Technology blog learning website
- Getting started with typescript
- A brief introduction to heading/pitch/roll and omega/phi/kappa
- Orin 两种刷机方式
- 3.Oracle-控制文件的管理
- [moviepy] unable to find a solution for exe
- LSA Type Explanation - detailed explanation of lsa-2 (type II LSA network LSA) and lsa-3 (type III LSA network Summary LSA)
- Integer to 8-bit binary explanation (including positive and negative numbers) scope of application -127~+127
猜你喜欢
how to understand the “model independent.“
Idea debug failed
Dameng database all
Vscode configures the typera editor for MD
Page type
vsCode创建自己的代码模板
Use ffmpeg to rotate, flip up and down, and flip horizontally
Vscode creates its own code template
Some classic recursion problems
Find the combination number acwing 887 Find combination number III
随机推荐
Sorting out the latest Android interview points in 2022 to help you easily win the offer - attached is the summary of Android intermediate and advanced interview questions in 2022
SolidWorks template and design library are convenient for designers to call
Configuration method and configuration file of SolidWorks GB profile library
[learning] database: several cases of index failure
Xavier CPU & GPU high load power consumption test
在新线程中使用Handler
Markdown syntax
Using handler in a new thread
2.Oracle-数据文件的添加及管理
MPLS experiment
Game theory acwing 892 Steps Nim game
Utf8 encoding
5.Oracle-錶空間
Marvell 88e1515 PHY loopback mode test
'mongoexport 'is not an internal or external command, nor is it a runnable program or batch file.
Huawei bracelet, how to add medicine reminder?
The route of wechat applet jumps again without triggering onload
how to understand the “model independent.“
7. Oracle table structure
How to make water ripple effect? This wave of water ripple effect pulls full of retro feeling