退出页面删除cookie_Cookie 机制
歡迎關(guān)注公眾號 學(xué)習(xí)資料不會少
01
「HTTP 協(xié)議是無狀態(tài)的」
對于瀏覽器的每一次請求,服務(wù)器都會獨立處理,不與之前或之后的請求發(fā)生關(guān)聯(lián)。
這個過程如圖 11-1 所示,3次“請求/響應(yīng)”之間沒有任何關(guān)系。
即使是同一個瀏覽器發(fā)送了3個請求,服務(wù)器也會獨立處理這3個請求,服務(wù)器并不知道這3個請求是來自同一個瀏覽器。
?服務(wù)器需要識別瀏覽器請求,就必須弄清楚瀏覽器的請求狀態(tài)。既然HTTP 協(xié)議是無狀態(tài)的,那就讓服務(wù)器和瀏覽器共同維護一個狀態(tài),這就是會話機制。
02
「會話機制」
會話機制的過程如圖11-2所示,過程如下:
▲圖 11-1 HTTP協(xié)議是無狀態(tài)的
▲圖 11-2 繪畫機制
(1) 瀏覽器第一次請求服務(wù)器時,服務(wù)器創(chuàng)建一個會話,并將會話的id作為響應(yīng)的一部分發(fā)送給瀏覽器。
(2) 瀏覽器存儲會話id,并在后續(xù)第二次和第三次請求中帶上會話id。服務(wù)器取得請求中的會話id就知道是不是同一個用戶中。
這樣一來,后續(xù)請求與第一次請求就產(chǎn)生了關(guān)聯(lián)。
03
「Cookie機制」
服務(wù)器在內(nèi)存中保存會話對象。瀏覽器可以使用Cookie機制保存會話id,如圖 11-3所示。
▲圖 11-3? Cookie 機制
Cookie 機制是一種會話機制。Cookie 是瀏覽器用來存儲少量數(shù)據(jù)的一種機制,數(shù)據(jù)以"key=value"形式存儲,瀏覽器發(fā)送HTTP 請求時,自動附帶 cookie信息。
04
「Cookie是什么」
Cookie 是一小段文本信息,伴隨著用戶請求和頁面在瀏覽器和Web 服務(wù)器之間傳遞。
Cookie 是一種 HTTP Header, 以"key=value”的形式組成,比如ip_country=CN。
兩個Cookie之間用分號隔開,比如 ip country=CN;mbox=check#true#1499311989。
瀏覽器把 Cookie 通過HTTP請求中的 Header, 比如"Cookie:ip_country=CN”發(fā)送給Web服務(wù)器。Web服務(wù)器通過HTTP響應(yīng)中的 Header, 比如"Set-Cookie:ip_country=CN”,把Cookie 發(fā)送給瀏覽器。
使用 Fiddler 可以清楚地看到Cookie在瀏覽器和服務(wù)器之間傳遞的過程。Fiddler工具中可以清晰地看到HTTP 請求中的 Cookie和HTTP 響應(yīng)中的 Cookie。
實例:啟動 Fiddler, 打開瀏覽器訪問一些購物網(wǎng)站,就可以看到如圖 11-4 所示的情況。
▲圖 11-4? Cookie在瀏覽器和Web服務(wù)器中的傳輸
05
「Cookie 的作用」
Cookie 最主要的作用是用來做用戶認證,還可以用于保存用戶的一些其他信息。
Cookie 也可以用于互聯(lián)網(wǎng)精準廣告定向技術(shù),比如用戶瀏覽了某些商品,就可以用Cookie 將其記錄下來,對網(wǎng)民所有的上網(wǎng)行為進行個性化的深度分析;按廣告主需求鎖定目標受眾,進行一對一傳播,提供多通道投放,按照效果付費。
06
「抓包觀察上海科技館網(wǎng)站的登錄」
我們通過 Fiddler 來抓包觀察上海科技館網(wǎng)站的登錄,才理解立求的過程和。
第一步;啟動 Fiddler, 啟動瀏覽器,打開http: //piaoweb.sstm.org.cn/: 輸入用戶名和密碼,單擊登錄(請讀者自己注冊賬號),
抓包后可以看到瀏覽器把用戶名和密碼發(fā)送給了Wcb服務(wù)器,如圖11-5 所示
▲圖11-5 網(wǎng)站登錄抓包
Web 服務(wù)器會驗證用戶名和密碼的正確性,然后通過“Set-Cookie”給瀏覽器發(fā)送3 個Cookie, 其中一個是用來保存登錄信息的。
第二步:在瀏覽器中打開“用戶中心":http: //piaoweb.sstm.org.cn/user/center/orderlist。
抓包后可以看到,HTTP 請求中會帶上 Cookie (即在上一步中Web服務(wù)器返回的Cookie) , 這樣Web 服務(wù)器就認為瀏覽器是登錄狀態(tài),如圖11-6所示。
▲圖11-6 自動帶上Cookie
07
「Cookie的屬性」
從Fiddler的抓包中,我們可以看到Web服務(wù)器返回了下面這一段數(shù)據(jù)給瀏覽器。
Set-Cookie: cookie _user _token=C5CBD6FBDODAOEE
4B5DC36E7075D8CDA; Expires=Thu, 06-Jul-2017 09: 17: 46 GMT; Path=/; HttpOnly
(1) Expires 屬性:Expires的值是一個時間,代表過期時間。過了這個時間,該Cookie就失效了。
如果不指定 Expire time, 表示關(guān)閉瀏覽器/頁面的時候,此Cookie 就應(yīng)該被瀏覽器刪除了。
(2) Path 屬性:表示Cookie 所屬的路徑,asp.net 默認為“/”, 就是根目錄。在同一個服務(wù)器上的目錄如下:/test/、/test/cd/、/test/dd/.現(xiàn)假設(shè)一個Cookiel的path為/test/, Cookie2的path為/test/cd/, 那么test 下的所有頁面都可以訪問到Cookiel, 而/test/dd/的子頁面不能訪問cookie2.這是因為Cookie 只能讓其path 路徑下的頁面訪問。
(3) HttpOnly 屬性:這是個關(guān)于安全方面的屬性,將一個Cookie 設(shè)置為HttpOnly后,通過 Javascript 腳本將無法讀取到Cookie信息,這能有效地防止黑客用XSS 發(fā)起攻擊。
一般來說,跟登錄相關(guān)的Cookie 必須設(shè)置為HttpOnly。
08
「11. 8 Cookie的分類」
我們可以大致把Cookie分為2類:會話 Cookie 和持久Cookie。
會話Cookie是一種臨時的 cookie, 它記錄了用戶訪問站點時的設(shè)置和偏好;關(guān)閉瀏覽器,會話Cookie 就被刪除了。
持久 Cookie 存儲在硬盤上,不管瀏覽器退出或者計算機重啟,持久 cookie 都繼續(xù)存在。持久Cookie 有過期時間。
09
「Cookie 保存在哪里」
Cookie 是存在硬盤上的,IE 存Cookie 的地方和 Firefox 存 Cookie 的地方不一樣。不同的操作系統(tǒng)存Cookie的地方也可能不一樣。
不同的瀏覽器會在各自的獨立空間存放 Cookie, 互不干涉。
以Windows7、IE8為例,Cookie的存放路徑為 C: \Users\xiaoj\AppData\Local\Microsoft\Windows\Temporary Internet Files。
注意:緩存文件和 cookie 文件是存在一起的,都在這個目錄下。
你也可以這樣查找,打開IE, 單擊Tools-> Internet Options-> General Tab 下的->Browsing history 下的“Setting”按鈕,在彈出的對話框中單擊“View files”, 如圖11-7所示。
▲圖 11-7 查看Cookie 存儲的目錄
不同的網(wǎng)站有不同的Cookie 文件,如圖 11-8 所示。
▲圖 11-8? 查看Cookie
10
「使用和禁用Cookie」
?可以在IE瀏覽器中設(shè)置禁用Cookie。打開控制面板中的Internet選項,選擇隱私選項卡。可以設(shè)置禁用Cookie,如圖11-9所示。
▲圖 11-9 使用和禁用Cookie
11
「網(wǎng)站自動登錄的原理」
很多網(wǎng)站都有自動登錄的功能,我們以“論壇自動登錄”為例來說明 Cookic是如何傳遞的
在登錄頁面輸入用戶名、密碼,選擇保存密碼單擊登錄(這時候,其實在你的機器上已保存好了登錄的 Cookie, 可以按照上節(jié)介紹的方法去你的計算機上找一下博客園的Cookie) 。
我們下次訪問博客園的流程如下。
(1) 用戶打開IE瀏覽器,在地址欄輸入http://49.233.108.117:3000/
(2) IE首先會在硬盤中查找關(guān)于cnblogs.com的Cookie, 然后把Cookie 放到HTTP Request 中,再把Request 發(fā)給Wcb服務(wù)器。
(3) Web服務(wù)器返回博客園首頁,這時你會看到自己已經(jīng)登錄了。
12
「Cookie 和文件緩存的區(qū)別」
很多人會把Cookie 和文件緩存弄混淆,這是兩個完全不一樣的東西。唯一的相同之處可能是它們倆都存在硬盤上,而且存在同一個文件夾下。
我們可以在IE中分別選擇刪除Cookie 和緩存文件,如圖11-11所示。
圖 11-11 Cookie和文件緩存
13
「Cookie 泄露隱私」
某年中央電視臺“3·15”晚會上曝光了一個現(xiàn)象,很多不法公司利用Cookie 跟蹤并采集用戶的個人信息,并轉(zhuǎn)賣給網(wǎng)絡(luò)廣告商,形成了一條竊取用戶信息的灰色產(chǎn)業(yè)鏈。通過這種方法可以實現(xiàn)廣告準確投放,但卻嚴重干擾了用戶的正常網(wǎng)絡(luò)應(yīng)用,侵害了用戶的隱私和利益。
目前歐洲一些國家已經(jīng)對Cookie 立法,并規(guī)定:如果網(wǎng)站需要保存用戶的 Cookie, 就必須彈出一個對話框,經(jīng)用戶確認后才能保存Cookie。
往期精彩文章
喜報來了!凡貓學(xué)員薪資最高16K!
金融行業(yè)軟件測試介紹
2020年為什么大家都開始學(xué)習(xí)自動化測試?
學(xué)習(xí)測試開發(fā)前 你需要掌握的python 代碼水平
1萬+軟件測試人員都在學(xué)的精品課程免費送,大家別錯過
總結(jié)
以上是生活随笔為你收集整理的退出页面删除cookie_Cookie 机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python2clock_控制fps的时
- 下一篇: 安康治精子活力低最好的医院推荐