


杭州IT培訓
美國上市IT培訓機構
0571-56026878
什么是Cookie、Session、Token、JWT?他們分別是用來干什么的?下面小編就給大家一一列出什么是Cookie、Session、Token、JWT?
一、什么是認證(Authentication)
通俗地講就是驗證當前用戶的身份,證明“你是你自己”(比如:你每天上下班打卡,都需要通過指紋打卡,當你的指紋和系統里錄入的指紋相匹配時,就打卡成功)
互聯網中的認證:
用戶名密碼登錄
郵箱發送登錄鏈接
手機號接收驗證碼
只要你能收到郵箱/驗證碼,就默認你是賬號的主人
二、什么是授權(Authorization)
用戶授予第三方應用訪問該用戶某些資源的權限
你在安裝手機應用的時候,APP 會詢問是否允許授予權限(訪問相冊、地理位置等權限)
你在訪問微信小程序時,當登錄時,小程序會詢問是否允許授予權限(獲取昵稱、頭像、地區、性別等個人信息)
實現授權的方式有:cookie、session、token、OAuth
三、什么是憑證(Credentials)
實現認證和授權的前提是需要一種媒介(證書) 來標記訪問者的身份
在戰國時期,商鞅變法,發明了照身帖。照身帖由官府發放,是一塊打磨光滑細密的竹板,上面刻有持有人的頭像和籍貫信息。國人必須持有,如若沒有就被認為是黑戶,或者間諜之類的。
在現實生活中,每個人都會有一張專屬的居民身份證,是用于證明持有人身份的一種法定證件。通過身份證,我們可以辦理手機卡/銀行卡/個人貸款/交通出行等等,這就是認證的憑證。
在互聯網應用中,一般網站(如掘金)會有兩種模式,游客模式和登錄模式。游客模式下,可以正常瀏覽網站上面的文章,一旦想要點贊/收藏/分享文章,就需要登錄或者注冊賬號。當用戶登錄成功后,服務器會給該用戶使用的瀏覽器頒發一個令牌(token),這個令牌用來表明你的身份,每次瀏覽器發送請求時會帶上這個令牌,就可以使用游客模式下無法使用的功能。
四、什么是 Cookie
HTTP 是無狀態的協議(對于事務處理沒有記憶能力,每次客戶端和服務端會話完成時,服務端不會保存任何會話信息):每個請求都是完全獨立的,服務端無法確認當前訪問者的身份信息,無法分辨上一次的請求發送者和這一次的發送者是不是同一個人。所以服務器與瀏覽器為了進行會話跟蹤(知道是誰在訪問我),就必須主動的去維護一個狀態,這個狀態用于告知服務端前后兩個請求是否來自同一瀏覽器。而這個狀態需要通過 cookie 或者 session 去實現。
cookie 存儲在客戶端: cookie 是服務器發送到用戶瀏覽器并保存在本地的一小塊數據,它會在瀏覽器下次向同一服務器再發起請求時被攜帶并發送到服務器上。
cookie 是不可跨域的: 每個 cookie 都會綁定單一的域名,無法在別的域名下獲取使用,一級域名和二級域名之間是允許共享使用的(靠的是 domain)。
免責聲明:內容來源于公開網絡,若涉及侵權聯系盡快刪除!