我剛剛使用網絡檢查器作爲某些用戶登錄時的YouTube請求。Cookie如何與HTTP協同工作?
我注意到,對於像
https://www.youtube.com/my_videos?o=U
那麼YouTube如何甚至告訴當前用戶是什麼呢?請求標頭非常空。所以它沒有任何種類的會話令牌或其他東西。
我的猜測是它以某種方式讀取我的瀏覽器cookie。
那麼這是否意味着,每次發出請求時,與本站點相關的所有瀏覽器cookie都與HTTP請求一起發送?
我剛剛使用網絡檢查器作爲某些用戶登錄時的YouTube請求。Cookie如何與HTTP協同工作?
我注意到,對於像
https://www.youtube.com/my_videos?o=U
那麼YouTube如何甚至告訴當前用戶是什麼呢?請求標頭非常空。所以它沒有任何種類的會話令牌或其他東西。
我的猜測是它以某種方式讀取我的瀏覽器cookie。
那麼這是否意味着,每次發出請求時,與本站點相關的所有瀏覽器cookie都與HTTP請求一起發送?
Provisional headers are shown
消息顯示在Request Headers
中,因爲DevTool中顯示的標題不是發送到服務器的實際標題。這可能是由以下幾個原因造成的:使用AdBlock,緩存,請求未決等。您可以檢查"CAUTION: provisional headers are shown" in Chrome debugger以進行以前的討論。
那麼你怎麼知道當前用戶是什麼?請求標頭非常空。
它不是空的,頭文件只是不顯示在DevTool中。
那麼這是否意味着,每次發出請求時,與本網站相關的所有瀏覽器cookie都與HTTP請求一起發送?
不完全。這取決於cookie的domain
和path
。如果Cookie的domain
與HTTP請求的主機相匹配,並且其path
與HTTP請求的URL路徑匹配,則Cookie將被髮送到服務器。否則,它將在HTTP請求中被忽略。
例如,有3周的Cookie:
domain
是example.com
,path
是/
。domain
是test.example.com
,path
是/
。domain
是example.com
, path
是/list
。當請求發送到http://example.com/news
時,只有Cookie A發送到服務器,Cookie B和C將被忽略。
感謝您的解釋。完善! – user1017674