2012-04-20 30 views
9

Zajmuję się REST Api, który musi być statefull (nie obejść tego, używam natywnej biblioteki bez obiektów podlegających serializacji itp.)Nagłówek zestawu plików cookie jest w odpowiedzi, ale przeglądarka nie ustawia pliku cookie w następnym żądaniu.

To spoczynkowe API jest ujawnione na serwerze internetowym w domenie domenyA. Odpowiedź zawiera nagłówek Access-Control-Allow-Origin ustawiony na *, więc nie potrzebuję JSON-P. (Nie wiem, czy ten szczegół się troszczy).

Wykonałem próbkę tego interfejsu API GWT na domenie B żądającej domeny. Przeglądarki nie dodają wcześniej ustawionego pliku cookie. Działa bez statuowania.

Czy próbka musi być również w domenie DomainA? Czy istnieje zestaw roboczy lub specjalny nagłówek do ustawienia?

Edytuj: Ustawiam główną domenę w pliku Cookie. I to nie działa. Przeglądarka nadal nie ustawia sesji cookie w następnym nagłówku żądania.

Zapytanie:

HeadersPreviewResponseCookiesTiming 
Request URL:http://subdomainB.mydomain.com/request 
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:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 
Connection:keep-alive 
Content-Length:1185 
Content-type:application/x-www-form-urlencoded 
Host:subdomainB.mydomain.com 
Origin:http://subdomainA.mydomain.com 
Referer:http://subdomainA.mydomain.com/BLABLABLA 
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.8 (KHTML, like Gecko) Chrome/20.0.1105.0 Safari/536.8 

Response:

Response Headersview source 
Access-Control-Allow-Origin:* 
Cache-Control:no-cache, no-store, max-age=0 
Connection:Keep-Alive 
Content-Language:fr-FR 
Content-Type:application/json;charset=UTF-8 
Date:Wed, 25 Apr 2012 07:59:03 GMT 
Expires:Thu, 01 Jan 1970 00:00:00 GMT, Thu, 01 Jan 1970 00:00:00 GMT 
Keep-Alive:timeout=15, max=100 
Pragma:no-cache 
Server:Jetty(7.5.4.v20111024) 
Set-Cookie:JSESSIONID=cookieValue;Path=/;Domain=.mydomain.com 
Transfer-Encoding:chunked 
+2

wszelkie aktualizacje na ten temat. jak to rozwiązałeś –

Odpowiedz

2

Według standards spec poprawna składnia jest:

set-cookie-header = "Set-Cookie:" SP set-cookie-string
set-cookie-string = cookie-pair * (";" SP cookie-av)
cookie-pair = cookie-name "=" cookie-wartość
...

Wygląda więc na to, co tracisz to spacja po każdym średnikiem.

Powiązane problemy