我在很多地方看到过,相比于基于cookie的身份验证,基于令牌的身份验证
的好处之一是更适合CORS/跨域场景。
但是为什么呢?
以下是CORS场景:
从http://domain-a.com提供的HTML页面发出对http://domain-b.com/image.jpg的
<img>
src请求。
即使我的机器上有一个令牌,<img>
标签怎么知道在哪里找到它并发送它呢?
我在很多地方看到过,相比于基于cookie的身份验证,基于令牌的身份验证
的好处之一是更适合CORS/跨域场景。
但是为什么呢?
以下是CORS场景:
从http://domain-a.com提供的HTML页面发出对http://domain-b.com/image.jpg的
<img>
src请求。
即使我的机器上有一个令牌,<img>
标签怎么知道在哪里找到它并发送它呢?
<img>
GET请求到另一个来源,确实也是跨源请求,但是如果您仅使用GET、HEAD、POST请求,并且您的Content-Type标头是以下之一,则浏览器不会使用预检(OPTION)请求:<img>
请求将没有问题(无论是子域还是完全不同的域),因为它不会经过预检,除非它需要凭据,因为当您添加Authorization标头时,请求需要经过预检。