cookie的同源策略
Cookie 的同源策略是指浏览器在发送 Cookie 时,只会将 Cookie 发送到与当前页面同源的服务器上。同源的定义是指协议、域名和端口都相同。
具体来说,同源策略对 Cookie 的限制包括以下几个方面:
-
域名:Cookie 只能被发送到与设置 Cookie 时的域名相同的服务器上。例如,如果在
example.com
上设置了一个 Cookie,那么浏览器只会在向example.com
及其子域名(如sub.example.com
)发送请求时携带该 Cookie,而不会在向其他域名(如anotherdomain.com
)发送请求时携带。 -
协议:Cookie 只能在与设置 Cookie 时使用的协议相同的请求中发送。例如,如果使用
https
协议设置了一个 Cookie,那么该 Cookie 只会在https
请求中被发送,而不会在http
请求中被发送。 -
端口:如果设置 Cookie 时指定了端口,那么 Cookie 只能在与该端口相同的请求中发送。如果没有指定端口,默认情况下,Cookie 适用于与设置 Cookie 时的域名相关的所有常用端口(如
http
的 80 端口和https
的 443 端口)。
同源策略的目的是为了保护用户的隐私和安全,防止 Cookie 被恶意网站窃取或滥用。通过限制 Cookie 的发送范围,只有合法的、同源的服务器才能访问和使用相应的 Cookie 信息。
需要注意的是,有些情况下可以通过设置 Cookie 的属性来放宽同源策略的限制,例如设置 Domain
属性可以使 Cookie 在更广泛的子域名范围内共享,设置 Secure
属性可以确保 Cookie 只在安全连接(https
)中发送。但这些设置需要谨慎使用,以避免潜在的安全风险。