【问题标题】:Different behavior when making CORS request using AXIOs (Chrome vs Edge)使用 AXIO(Chrome 与 Edge)发出 CORS 请求时的不同行为
【发布时间】:2017-12-21 03:10:47
【问题描述】:

我从 Chrome 中得到了一个奇怪的行为,这是我最近没有得到的。一周前,我的项目正在向我的 REST api (Java spring) 发出正确的 CORS 请求,一切都很好。但是昨天,Chrome (59.0.3071.115) 不再像以前那样发送 JSESSIONID。它现在发送一个 io cookie 代替它。那个 io cookie 似乎在某种程度上与 WebSocket 相关,我没有在我的任何代码中使用它。

问题是,当我在 Edge 浏览器上尝试相同的代码时,一切都很好。 Edge 确实发送了我的 JSESSIONID cookie,并且没有发送“io”cookie。

有人经历过吗?

这是我的设置和两个浏览器上的请求示例。

设置: 操作系统:Windows 10 SPA:反应,AXIOS(0.16.2) REST:Java、Spring boot、Tomcat(嵌入式)

AXIOS 配置

function getNewAxiosInstance() {
    //Init our instance
    const ax = axios.create();

    //Config defaults
    ax.defaults.baseURL = rootUri;
    ax.defaults.timeout = 1000;
    ax.defaults.withCredentials = true;

    return ax;
}

Chrome 请求

Request URL:http://localhost:8080/api/2.0/client/service_orders/_activeState
Request Method:GET
Status Code:200 
Remote Address:[::1]:8080
Referrer Policy:no-referrer-when-downgrade

Response Headers
view source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:3000
Content-Type:application/json;charset=UTF-8
Date:Sun, 16 Jul 2017 13:58:39 GMT
Set-Cookie:JSESSIONID=6DA824C819AB48051DC6A63367010DDA;path=/;HttpOnly
Transfer-Encoding:chunked
Vary:Origin

Request Headers
view source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8,fr-CA;q=0.6,fr;q=0.4
Cache-Control:no-cache
Connection:keep-alive
Cookie:io=T6umtNN53FTADnx1AAAA
Host:localhost:8080
Origin:http://localhost:3000
Pragma:no-cache
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

边缘请求

   Request URL: http://localhost:8080/api/2.0/reception/service-orders/_activeState
   Request Method: GET
   Status Code: 200 / 

 - Request Headers
   Accept: application/json, text/plain, */*
   Accept-Encoding: gzip, deflate
   Accept-Language: en-CA
   Connection: Keep-Alive
   Cookie: JSESSIONID=177FD4191C578793F8BC04D9DB7287A5
   Host: localhost:8080
   Origin: http://localhost:3000
   Referer: http://localhost:3000/
   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063

 - Response Headers
   Access-Control-Allow-Credentials: true
   Access-Control-Allow-Origin: http://localhost:3000
   Content-Type: application/json; charset=UTF-8
   Date: Sun, 16 Jul 2017 14:08:26 GMT
   Transfer-Encoding: chunked
   Vary: Origin

【问题讨论】:

    标签: rest google-chrome microsoft-edge axios


    【解决方案1】:

    好吧,

    Chrome 确实有些可疑。我刚刚从头开始重新安装了 Chrome,一切都很好。

    不知道 Chrome 发生了什么,因为我没有安装任何新的扩展程序,也没有更改任何设置。

    干杯

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 2017-12-27
      • 2022-01-06
      • 2018-03-11
      • 2013-03-06
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多