쿠키없는 도메인은 어떻게 설정합니까?


24

더 나은 성능을 위해 쿠키가없는 도메인 또는 하위 도메인에서 정적 콘텐츠 (css, javascript 등)를 제공하는 것이 가장 좋습니다. 기본적으로 도메인에 쿠키가없는 것으로 가정합니다. 쿠키를 사용하지 않으려면 어떻게합니까?


3
이런 종류의 일은 시간당 수천 페이지 또는 분당 수천 페이지를 제공하지 않는 한 실제로 중요하지 않습니다.

"쿠키 크기를 줄이기 위해 최선을 다했지만 Google 웹 로그 분석을 사용하면 평균 사용자 쿠키 크기가 약 1 킬로바이트가됩니다." 유용한 및 관련 - chrishateswriting.com/post/68794699432/small-things-add-up
mvark

답변:


26

YSlowPage Speed 와 같은 것들이 쿠키가없는 도메인을 설정하라고 말하면 실제로 의미하는 것은 설정하지 않거나 과거에 (전 세계적으로) 설정하지 않은 도메인의 미디어를 제공하는 것입니다. 때로는이 같은 하위 도메인을 사용하여 수행 할 수 있습니다 media.domain.com, 또는 static.domain.com당신이 쿠키 설정 그러나 경우, domain.com쿠키에 대한 - 즉 전체 도메인에 적용 *.domain.com- 다음이 쿠키가 서버에 클라이언트 뒷면에 의해 발송됩니다 에 대한 모든 요청 마다 와 관련된 도메인 domain.com. 여기에는 모든 하위 도메인이 포함됩니다.

www.도메인 에서 사용을 중단하기로 결정하면 글로벌 쿠키가 문제가됩니다 . 쿠키를 설정할 특정 하위 도메인이 없으면 쿠키가 작동하도록 모든 쿠키를 설정해야합니다 *.domain.com.

이 글로벌 쿠키 문제는 ytimg.comYouTube 와 같은 장소에서 정적 미디어가 제공되는 이유 입니다. ytimg.com쿠키를 설정할 수있는 동적 콘텐츠를 제공하지 않습니다. 즉, 이러한 도메인이 HTTP 요청의 일부인 경우 쿠키가 클라이언트에서 서버로 다시 전송되지 않습니다.

쿠키가 설정되어 있지 않다고 확신하는 경우 *.domain.com필요에 따라 하위 도메인을 사용할 수 있습니다. 대부분의 경우 Javascript를 통해 다른 사이트 나 서비스와 통합하면 글로벌 도메인 쿠키가 설정됩니다.

Apache에서 (그리고 다른 모든 웹 서버는 확신합니다) 요청에 응답하기 전에 헤더를 설정하거나 설정 해제 할 수 있습니다. 클라이언트가 쿠키를 서버로 보내는 문제는 해결되지 않지만 도메인이 쿠키를 보내거나 초기에 설정하지 못하게합니다. 쿠키가없는 도메인에서 정적이지 않은 콘텐츠를 제공하는 경우에만 문제가되어 목적을 상실합니다.

Header unset Cookie
Header unset Set-Cookie 

기존 쿠키 및 새 쿠키 생성을위한 헤더가 설정 해제됩니다. 쿠키를 설정할 수있는 정적 도메인의 콘텐츠를 제공하는 경우에만 문제가됩니다. 이를 사이트 또는 가상 호스트 구성에 배치하십시오 (OS, 서버 및 버전에 따라 여러 위치가 될 수 있음).


"쿠키가없는 도메인에서 정적이지 않은 컨텐츠를 제공하는 경우에만 문제가되어 목적을 상실합니다." 왜? 본질적으로 쿠키가 필요한 동적으로 생성 된 컨텐츠는 없습니다.

1
정적 도메인에서 동적 콘텐츠를 제공하면 본질적으로 아무것도 설정되지 않았다고 말하지 않았습니다. 정적 도메인에서 쿠키를 설정하는 동적 콘텐츠를 제공하면 쿠키가 문제가 될 것이라고 말했습니다. 정적 도메인의 목적은 이미지, css, js 등과 같은 상호 작용이 필요없는 콘텐츠를 제공하는 것입니다. 쿠키를 설정해야하는 동적 콘텐츠는 정적 도메인에서 처리하지 않아야합니다.
Bryson

6

쿠키를 사용하지 않으려면 어떻게합니까?

그것은 당신이 쿠키 도메인을 가지고 무엇을해야하는지에 대해 아니에요 - 당신이해야 할 일에 대해 더 하지 ... 어떻게 당신이 확실 해당 도메인에서 실행되는 응용 프로그램을 만들기 위해 가지고 쿠키 도메인이려면 설정하지 않는 쿠키를 . 이는 일반적으로 로그인이없고, Google 웹 로그 분석이없고, 세션이없는 것, 즉 미디어를 제공하는 것 외에 다른 것을 의미하지 않습니다. 분명히 이것은 설정에 따라 다릅니다.

최근에 한 가지 실수는 도메인과 하위 도메인을 구분하지 않았다는 것입니다. http://media.example.com쿠키가없는 도메인이라고 생각 하면서 모든 미디어를 제공하기 시작 했지만 실제로는 도메인이 하위 도메인이며 http://www.example.com도메인 수준으로 설정되어 쿠키가없는 하위 도메인을 오염시키는 기본 사이트에서 많은 쿠키를 발견했습니다 . 다음은 해당 문제를 해결하는 방법에 대한 링크입니다. /server/160210/nginx-serve-static-content-from-a-cookieless-domain


2
의 쿠키는 로 전송 www.example.net 되지static.example.net 않지만의 쿠키는 로 전송됩니다 example.net. 해결책은로 리디렉션 example.net하는 것 www.example.net입니다.
TRiG

3

쿠키를 사용하지 않으려면 어떻게합니까?

쿠키를 사용하지 않기로 지정할 필요는 없으며 쿠키를 사용하지 않아도됩니다.


3
항상 옵션은 아닙니다. 다른 사이트의 Javascript 기능 통합은 일반적으로 원하는지 여부에 관계없이 도메인의 글로벌 쿠키를 설정합니다.
Bryson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.