我已经设置了一个网络服务器,并提供路由。当我用curl
打它时,我得到:
$ curl -i -X POST http://dev.com:5000/user/check
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 40
Access-Control-Allow-Origin: *
Vary: Cookie
Set-Cookie: session=eyJjaGVjayI6dHJ1ZX0.Dij_Ng.OL7a0pycpZgU45zEIzC5ZTfeCdk; Domain=.dev.com; HttpOnly; Path=/
Server: Werkzeug/0.14.1 Python/3.6.5
Date: Thu, 12 Jul 2018 15:03:18 GMT
{
"result": null,
"status": "ok"
}
但是,当我在Chrome中点击它时,调试控制台会报告:
常规
Request URL: http://dev.com:5000/user/check
Request Method: POST
Status Code: 200 OK
Remote Address: 127.0.0.1:5000
Referrer Policy: no-referrer-when-downgrade
响应标题
Access-Control-Allow-Origin: http://localhost:8080
Content-Length: 40
Content-Type: application/json
Date: Thu, 12 Jul 2018 15:04:10 GMT
Server: Werkzeug/0.14.1 Python/3.6.5
Vary: Origin, Cookie
请求标头
Provisional headers are shown
Accept: application/json, text/plain, */*
Origin: http://localhost:8080
Referer: http://localhost:8080/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
不返回任何cookie。发生了什么事?
答案 0 :(得分:0)
我在本地主机上进行了类似的测试,发现了相同的问题。
我在网站example.com
上创建了一个php页面,该页面以类似的Set-cookie
标头响应,其中包含domain
和其他值。
测试1
我从<script src="http://example.com/my.php">
将该页面称为localhost
。
Chrome网络标签未在Set-cookie
中显示Response Headers
标头,但是设置了 cookie ,我在应用中确认了这一点。选项卡中的“标签”。
测试2
此外,在此页面上,我使用document.createElement('script')
从控制台向php页面发出了另一个请求,设置了其src
属性,然后将该元素附加到正文。
但是,Request Headers
没有包含任何Cookie
标头。
测试3
我打开了另一个标签,打开了devtools,然后键入http://example.com/my.php
并按Enter。
这次,Cookie
在Request Headers
中存在。
此外,在测试1和测试2中,Request Headers
显示为显示了临时标头,但在测试3中却不是。
我想知道domain
参数是否有问题。