Cookie的作用:
Cookie是用于維持服務(wù)端會話狀態(tài)的坑匠,通常由服務(wù)端寫入后室,在后續(xù)請求中,供服務(wù)端讀取惊来。
1棺滞、server通過HTTP Response中的"Set-Cookie: header"把cookie發(fā)送給client
2裁蚁、client把cookie通過HTTP Request 中的“Cookie: header”發(fā)送給server
3矢渊、每次HTTP請求,Cookie都會被發(fā)送枉证。
http請求發(fā)送cookies的條件:
1矮男、本地已經(jīng)緩存有cookies
2、根據(jù)請求的URL來匹配cookies的domain室谚、path屬性毡鉴,如果都符合才會發(fā)送。[url的匹配規(guī)則請查看]
舉個例子:訪問www.baidu.com時秒赤,就不發(fā)送www.qq.com的cookies.
Cookies查看與存放路徑
cookies查看:
大家可以使用抓包工具猪瞬,這種工具就不多話,網(wǎng)上搜索出很多入篮。使用這些工具中可以清晰的看到Http Request 中的Cookie陈瘦, 和Http Response中的cookie
cookies存放路徑:
這里以iOS客戶端請求為例:
客戶端請求后,cookies會保存在App的沙盒下:
這是我做應(yīng)用的沙盒路徑:/Users/a-hing/Library/Developer/CoreSimulator/Devices/FECA1CCE-4F9D-42B7-AC84-EEB94171E37C/data/Containers/Data/Application/79CEED3E-F7D9-4589-BEA5-44E1345CA71A/Library/cookes
大家可以去到自己應(yīng)用的沙盒路徑下崎弃,打開cookies看看里面的內(nèi)容甘晤。
網(wǎng)站的登陸與App的自動登陸原理:
用戶在連接服務(wù)器時,服務(wù)器生成一個唯一的SessionID 饲做。而SessionID這一數(shù)據(jù)則是保存到客戶端线婚,
用Cookie保存的,用戶提交頁面時盆均,會將 SessionID提交到服務(wù)器端塞弊,來存取Session數(shù)據(jù)。