답변:
예 , 서버는 일반 요청과 AJAX 요청을 구별 할 수 없으므로 일반 요청과 마찬가지로 서버 측 코드에서 AJAX 요청에 쿠키를 설정할 수 있습니다.
AJAX 요청은 서버에 요청하는 특별한 방법이므로 서버는 모든 HTTP 요청에서와 같이 응답해야합니다. 요청에 대한 응답으로 쿠키를 추가 할 수 있습니다.
If the user agent supports HTTP State Management it should persist, discard and send cookies (as received in the Set-Cookie response header, and sent in the Cookie header) as applicable.
-에서 w3.org/TR/XMLHttpRequest
XMLHttpRequest 에 대한 w3 사양 섹션 4.6.3에 따르면 사용자 에이전트는 Set-Cookie 헤더를 준수 해야합니다. 대답은 '그렇다'입니다.
인용:
사용자 에이전트가 HTTP 상태 관리를 지원하는 경우 쿠키를 유지하고 버리고 쿠키를 보내십시오 (Set-Cookie 응답 헤더에서 수신되고 쿠키 헤더에서 전송 됨).
기록을 위해, AJAX 호출이 동일한 도메인에서 이루어진 경우에만 위의 모든 사항이 (아직도) 참임을 명심하십시오. AJAX를 사용하여 다른 도메인에서 쿠키를 설정하려는 경우 완전히 다른 웜 캔을 여는 것 입니다. 그러나 도메인 간 쿠키를 읽는 것은 효과가 있습니다 (또는 최소한 서버에서 쿠키를 제공합니다. 클라이언트의 UA가 코드에 액세스하도록 허용하는지 여부는 2014 년 현재 다른 주제입니다).
withCredentials=true
대해 설정해야 xhr
합니다. (2) Access-Control-Allow-Credentials
OPTIONS 프리 플라이트 요청과 실제 요청 모두에 설정 합니다. (3) 쿠키를 필요에 따라 설정합니다