浏览器没有设置cookie,尽管我有Set-Cookie作为回应

时间:2013-05-13 22:36:08

标签: javascript django web-services browser

我有静态S3托管网站的api端点。 S3站点位于域名:www.mysite.com

我的api(django)在网站上运行域名:api.mysite.com

当我在我的网站上使用我的登录按钮并使用正确的用户名/密码登录时,django使用Set-Cookie发回回复,但浏览器未设置任何cookie。您可以在下面看到完整的回复,

Request URL:http://api.mysite.com:8000/api/form/login/
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:46
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Host:api.mysite.com:8000
Origin:http://mysite.com
Pragma:no-cache
Referer:http://mysite.com/eventform.html
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 Chrome/25.0.1364.160 Safari/537.22
Form Dataview sourceview URL encoded
token:68f4ebd02c0e1915d3e3110a04fccb0ab670aeab
Response Headersview source
Access-Control-Allow-Origin:*
Content-Type:text/html; charset=utf-8
Date:Mon, 13 May 2013 22:21:54 GMT
Server:WSGIServer/0.1 Python/2.7.3
Set-Cookie:sessionid=3kn2hovtweeofalf00ld3lowb6yvete; Domain=.mysite.com; expires=Mon, 27-May-2013 22:21:54 GMT; Max-Age=1209600; Path=/
Vary:Cookie

注意这一行     Set-Cookie:sessionid=3kn2hovtweeofalf00ld3lowb6yvete; Domain=.mysite.com; expires=Mon, 27-May-2013 22:21:54 GMT; Max-Age=1209600; Path = /

在Django,我有     SESSION_COOKIE_DOMAIN ='。mysite.com'

但我已经尝试将其更改为'mysite.com'和''这两者都不允许我的浏览器设置此返回的Cookie。

www.msyite.com是在Amazon S3上托管的静态网站,但我使用Django作为我的api /后端数据。

当我使用Django呈现我的登录页面时,它们工作正常(登录/注销cookie和会话都工作正常,所以我知道它不是我的django代码)但是当使用S3甚至是python SimpleHTTPServer时,浏览器没有设置返回的cookie。

提前致谢!

1 个答案:

答案 0 :(得分:0)

AFAIK静态S3站点的目的是不设置/接受任何cookie?

我们将其用于静态内容,例如图像,以便摆脱所有cookie内容,并且在图像或CSS请求期间请求中没有重载。

并且:S3不是通常的Web服务器,它的行为非常不同,强烈建议使用RTM。这是真的,但我从这个帖子Can S3 set a user cookie?中提取的答案就是“不”。