
Cookie 是您訪問過的網站創建的文件,用于存儲瀏覽信息,例如您的網站偏好設置或個人資料信息。共有兩種類型的 Cookie:第一方 Cookie 是由地址欄中列出的網站域設置的 Cookie,而第三方 Cookie 來自在網頁上嵌入廣告或圖片等項的其他域來源。第一方Cookie和第三方Cookie,都是網站在客戶端上存放的一小 塊數據。他們都由某個域存放,只能被這個域訪問。他們的區別其實并不是技術 上的區別,而是使用方式上的區別。
比如,訪問A這個網站,這個網站設置了一個Cookie,這個Cookie也只能被A這個域下的網頁讀取,這就是第一方Cookie。如果還是訪問A這個網站,網頁里有用到B網站的一張圖片,瀏覽器在B請求圖片的時候,B設置了一個Cookie,那這個Cookie只能被B這個域訪問,反而不能被A這個域訪問,因為對我們來說,我們實際是在訪問A這個網站被設置了一個B這個域下的Cookie,所 以叫第三方Cookie。
Cookie 同源策略
Cookie中的同源只關注域名,忽略協議和端口。所以https://localhost:8080/和http://localhost:8081/的Cookie是共享的。
Cookie如何工作
Cookie通過HTTP Headers從服務器端返回到瀏覽器上。首先,服務器端在響應中利用Set-Cookie header來創建一個Cookie ,然后,瀏覽器在它的請求中通過Cookie header包含這個已經創建的Cookie,并且反它返回至服務器,從而完成瀏覽器的論證。
第一方Cookie的優勢和應用
第一方Cookie的最大優勢是接受率高。一般主流的瀏覽器的都會有隱私的設置,可以讓用戶設置是否接受Cookie,接受哪些Cookie。除了 完全不接受Cookie這個設置以外,其他情況下,第一方Cookie都是會被用戶接受的(不接受的話,是沒辦法把那小塊數據保存下來的)。所以,如果沒 有特殊要求,使用第一方Cookie會比第三方Cookie,我們通過分析工具得到的數據會更準確。
第三方Cookie的優勢和應用
第三方Cookie的接受率不如第一方Cookie(不過主流的瀏覽器默認的設置下也接受帶P3P協議的第三方Cookie,個人認為接受率甚至95%以上),但在某些特定情況下可以實現第一方Cookie無法實現的功能。
比如,當我們有多個域名的網站需要跟蹤,我們希望了解到用戶 點擊某個廣告到達域名A下的網頁,然后可能瀏覽了不論那個域名下的頁面,最后在域名B下的網頁完成注冊的情況。廣告可以在域名A下的網頁被跟蹤到,而注冊 可以在域名B下的網頁跟蹤到。如果我們使用第一方Cookie,會為域名A建立一個Cookie,為域名B再建立一個Cookie,他們可以關聯各自域名 下網頁上的行為,但是無法關聯起來。而使用第三方Cookie,那么無論多少個域,都只有一個Cookie,一個屬于第三方域的Cookie,網站下所有 域都能共享這個Cookie,那么所有的行為都能被關聯起來分析。
瀏覽器的第三方 Cookie 限制
IEFirefoxChromeSafariOpera限制第三方Cookie是否否是
解除第三方Cookie限制,有 2 種方法,一個就是上面說到的調整設置,將第三方域名加入到可信網站列表中;另一個方法,就是 P3P。
P3P解決第三方cookie存取的問題
P3P(Platform for Privacy Preferences)是由萬維網協會研制,它為Web用戶提供了對自己公開信息的更多的控制。支持P3P的Web站點可以為瀏覽者聲明他們的隱私策 略。支持P3P的瀏覽器則可以將Web站點的策略與用戶的隱私偏好進行對比,并為用戶提出不匹配的警告。因此,用戶可以被通知有關Web隱私的處理方式