一、基础概念
http://example.com
和https://example.com
(协议不同)、http://example.com
和http://sub.example.com
(域名不同)、http://example.com:80
和http://example.com:8080
(端口不同)都被视为不同源。Set - Cookie
字段发送Cookie给浏览器,浏览器会在后续对该域名的请求中通过Cookie
请求头将相关的Cookie发送回服务器。二、跨域Cookie的限制
http://a.com
向http://b.com
发送AJAX请求时,如果b.com
没有特殊设置,a.com
设置的Cookie不会被发送到b.com
。三、相关类型(从设置角度)
四、应用场景
service1.company.com
和service2.company.com
,希望用户在登录其中一个网站后,在其他相关网站也能自动登录。五、解决跨域Cookie问题的方法
Access - Control - Allow - Origin
为特定的源(不能使用通配符*
如果要发送Cookie),并且设置Access - Control - Allow - Credentials
为true
。XMLHttpRequest
或者fetch
),需要设置withCredentials
属性为true
。fetch
的示例:fetch
的示例:<script>
标签来绕过同源策略,但它不能直接处理Cookie,并且存在安全风险,如XSS(跨站脚本攻击)漏洞。所以一般不建议使用JSONP来解决跨域Cookie问题。http - proxy - middleware
库来设置代理。没有搜到相关的文章