1.Cookie
1.1工作機(jī)制:
- 服務(wù)器需要客戶端保存的內(nèi)容纲刀,放在 Set-Cookie headers ?返回雅潭,客
戶端會(huì)?動(dòng)保存。 - 客戶端保存的 Cookies但绕,會(huì)在之后的所有請(qǐng)求?都攜帶進(jìn) Cookie header
?發(fā)回給服務(wù)器救崔。 - 客戶端保存 Cookie 是按照服務(wù)器域名來(lái)分類的,例如 shop.com 發(fā)回的
Cookie 保存下來(lái)以后捏顺,在之后向 games.com 的請(qǐng)求中并不會(huì)攜帶六孵。 - 客戶端保存的 Cookie 在超時(shí)后會(huì)被刪除、沒(méi)有設(shè)置超時(shí)時(shí)間的 Cookie
(稱作 Session Cookie)在瀏覽器關(guān)閉后就會(huì)?動(dòng)刪除幅骄;另外劫窒,服務(wù)器也
可以主動(dòng)刪除還未過(guò)期的客戶端 Cookies。
1.2作用:
1.會(huì)話管理:登錄狀態(tài)拆座、購(gòu)物?
2.個(gè)性化:?戶偏好主巍、主題
3.分析用戶行為
2.Authorization
2.1Basic方式
請(qǐng)求報(bào)文的header中
格式:Authorization: Basic <username:password(Base64ed)>
2.2Bearer方式
格式:Authorization: Bearer <bearer token>
bearer token 的獲取?式:通過(guò) OAuth2 的授權(quán)流程
OAuth2 的流程:
- 第三??站向授權(quán)??站申請(qǐng)第三?授權(quán)合作冠息,拿到 client id 和 client
secret - ?戶在使?第三??站時(shí),點(diǎn)擊「通過(guò) XX (如 GitHub) 授權(quán)」按鈕孕索,第三?
?站將??跳轉(zhuǎn)到授權(quán)??站逛艰,并傳? client id 作為??的身份標(biāo)識(shí) - 授權(quán)??站根據(jù) client id ,將第三??站的信息和第三??站需要的?戶權(quán)
限展示給?戶搞旭,并詢問(wèn)?戶是否同意授權(quán) - ?戶點(diǎn)擊「同意授權(quán)」按鈕后散怖,授權(quán)??站將??跳轉(zhuǎn)回第三??站,并傳
? Authorization code 作為?戶認(rèn)可的憑證选脊。 - 第三??站將 Authorization code 發(fā)送回??的服務(wù)器
- 服務(wù)器將 Authorization code 和??的 client secret ?并發(fā)送給授權(quán)?的
服務(wù)器杭抠,授權(quán)?服務(wù)器在驗(yàn)證通過(guò)后,返回 access token恳啥。OAuth 流程結(jié)
束偏灿。 - 在上?的過(guò)程結(jié)束之后,第三??站的服務(wù)器(或者有時(shí)客戶端也會(huì))就可
以使? access token 作為?戶授權(quán)的令牌钝的,向授權(quán)??站發(fā)送請(qǐng)求來(lái)獲取
?戶信息或操作?戶賬戶翁垂。但這已經(jīng)在 OAuth 流程之外。
(待補(bǔ)全)