BAN Cookie!
最近在學習cookie,對這個由服務器發送指令,在客戶端(瀏覽器)上存儲小文本數據或者sessionID的數據載體很感興趣。
因為知道,cookie會記錄自己的瀏覽數據,所以我就把自己瀏覽器的cookie給禁止了。
我天真的以為,從此以后,再也沒有人能訪問我的瀏覽數據了,於是我興沖沖的打開了百度和博客園,准備給大家介紹介紹我的經驗,然后發現,


然后就出現了上圖的窘境。。。
百思不得其解,為什么我把瀏覽器的cookie設置給ban了,我就無法登錄我的百度賬號和博客園賬號了?
后來找度娘問了下,才知道cookie也分類,而且有第一方cookie和第三方cookie之說!
首先我們知道,Cookie 是我們訪問過的網站創建的文件,用於存儲瀏覽信息,例如您的網站偏好設置或個人資料信息。
共有兩種類型的 Cookie:第一方 Cookie 是由地址欄中列出的網站域設置的 Cookie,而第三方 Cookie 來自在網頁上嵌入廣告或圖片等項的其他域來源。
第一方Cookie和第三方Cookie,都是網站在客戶端上存放的一小塊數據。他們都由某個域存放,只能被這個域訪問。他們的區別其實並不是技術上的區別,而是使用方式上的區別。
比如,訪問A這個網站,這個網站設置了一個Cookie,這個Cookie也只能被A這個域下的網頁讀取,這就是第一方Cookie。如果還是訪問A這個網站,網頁里有用到B網站(和
A網站的域名是不同的)的一張圖片,瀏覽器在B請求圖片的時候,B設置了一個Cookie,那這個Cookie只能被B這個域訪問,反而不能被A這個域訪問,因為對我們來說,我們實際是在訪問A網站時,被設置了一個B這個域下的Cookie,所以叫第三方Cookie。
(你我他;你:A網站,我:瀏覽器,他:B網站;‘他’ 就是第三方,所以B網站下的cookie是第三方cookie。)
Cookie 同源策略
Cookie中的同源只關注域名,忽略協議和端口。所以https://localhost:8080/和http://localhost:8081/的Cookie是共享的。
Cookie如何工作
Cookie通過HTTP Headers從服務器端返回到瀏覽器上。首先,服務器端在響應中利用Set-Cookie header來創建一個Cookie ,然后,瀏覽器在它的請求中通過Cookie header包含這個已經創建的Cookie,並且反它返回至服務器,從而完成瀏覽器的論證。
第一方Cookie的優勢和應用
因為如果你禁用第一方 cookies,當你瀏覽同域名下的網頁從一頁跳到另一頁的時候,網站無法跟蹤你的活動,也無法保存我們的用戶信息。所以,網站可能會拒絕我們的訪問。
第三方Cookie的優勢和應用
第三方Cookie的接受率不如第一方Cookie(不過主流的瀏覽器默認的設置下也接受帶P3P協議的第三方Cookie,個人認為接受率甚至95%以上),但在某些特定情況下可以實現第一方Cookie無法實現的功能。
比如,當我們有多個域名的網站需要跟蹤,我們希望了解到用戶 點擊某個廣告到達域名A下的網頁,然后可能瀏覽了不論那個域名下的頁面,最后在域名B下的網頁完成注冊的情況。廣告可以在域名A下的網頁被跟蹤到,而注冊 可以在域名B下的網頁跟蹤到。如果我們使用第一方Cookie,會為域名A建立一個Cookie,為域名B再建立一個Cookie,他們可以關聯各自域名 下網頁上的行為,但是無法關聯起來。而使用第三方Cookie,那么無論多少個域,都只有一個Cookie,一個屬於第三方域的Cookie,網站下所有 域都能共享這個Cookie,那么所有的行為都能被關聯起來分析。
總結:
禁止第一方cookie是不可能禁止的,這輩子都不可能禁止的,也就禁禁第三方cookie這樣子才能勉強保護自己的隱私。😶
大數據時代,生活越來越便利,信息也越來越暴露無遺。😶
