我最近在以某个用户身份登录时,为youtube请求使用了网络检查器。
我注意到像
这样的请求https://www.youtube.com/my_videos?o=U
那么youtube甚至可以告诉当前用户是什么?请求标头非常空。所以它没有任何类型的会话令牌或其他东西。
我的猜测是它以某种方式读取我的浏览器cookie。
这是否意味着,每次发出请求时,与此网站相关的所有浏览器Cookie都会与HTTP请求一起发送?
答案 0 :(得分:1)
Provisional headers are shown
消息显示在Request Headers
中,因为DevTool中显示的标题不是发送到服务器的实际标题。这可能是由多种原因造成的:AdBlock,使用缓存,请求待处理等。您可以查看"CAUTION: provisional headers are shown" in Chrome debugger以进行之前的讨论。
那么youtube甚至可以告诉当前用户是什么?请求标头几乎是空的。
它不是空的,标题只是不在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将被忽略。