쿠키(cookie)

• 쿠키는 클라이언트 PC에 저장되지만 본질적으로 웹사이트가 방문자를 기억하는 방법입니다.

• 다양한 정보를 기록합니다.

B. 방문 시 어떤 페이지를 클릭하고 어떤 제품을 구매했는지.

• 맞춤형 서비스 이용, 광고, 웹로그 분석 및 서비스 속도 향상을 위해 사용합니다.

• 쿠키는 클라이언트 상태 정보를 유지하기 위한 기술입니다.

• 상태 정보는 클라이언트(일반적으로 웹 브라우저)에 키와 값의 형태로 저장되고 저장된 쿠키는 다음 요청과 함께 전송됩니다.

• 웹 서버는 브라우저가 보낸 쿠키에서 필요한 데이터를 읽습니다.

• 쿠키 표준(RFC 6265)

• 최대 3000개까지 제작 가능

• 쿠키의 최대 크기는 4096바이트입니다.

• 호스트 또는 도메인에 최대 50개 생성 가능
• 쿠키로 저장할 수 있는 최대 크기는 약 1.2MB입니다.

모든 브라우저가 표준을 정확히 따르는 것은 아니며 대부분 이보다 적은 지원을 합니다.


기본 동작 확인

행동 메커니즘

1. 클라이언트가 서버에 요청

2. 서버는 쿠키를 생성하여 HTTP 응답 헤더에 포함시켜 클라이언트에게 전송합니다.

3. 클라이언트는 쿠키를 수신하고 저장합니다(이 시점에서 쿠키는 클라이언트에만 저장되므로

서버는 아직 쿠키를 사용할 수 없습니다)

4. 클라이언트는 다음 요청과 함께 HTTP 요청 헤더에 저장된 쿠키를 보냅니다.

5. 서버는 쿠키에 있는 정보를 읽고 필요한 조치를 취합니다.

속성 및 API

• 쿠키를 구성하는 속성

• 이름: 쿠키를 식별하는 이름입니다.

• 값: 쿠키에 저장될 실제 데이터.

• 도메인: 쿠키가 적용되는 도메인입니다.

• 경로: 쿠키를 적용할 경로.

• 보유 기간(최대 보관 기간): 쿠키를 보관하는 기간

• 설정 방법(속성을 설정하고 읽는 방법).

무효 setValue(문자열 값): 쿠키 값 설정

빈 setDomain(문자열 도메인): 쿠키에 적용할 도메인 설정

무효 setPath(문자열 경로): 쿠키가 적용되는 경로를 지정합니다.

무효 setMaxAge(int expire_seconds): 쿠키 보유 기간을 초 단위로 설정

• 쿠키 이름은 생성자(setName() 메서드 X)에 의해 설정됩니다.

새 쿠키(문자열 이름, 문자열 값): 이름과 값을 사용하여 새 쿠키 만들기(이름 X를 변경한 후)

• 쿠키 정보를 읽는 방법

• String getName( ): 쿠키 이름을 반환합니다.

• String getValue( ): 쿠키값을 반환한다.

• String getDomain( ): 쿠키가 적용되는 도메인을 반환한다.

• String getPath( ): 쿠키 적용 경로를 반환한다.

그러나 setPath()로 설정한 적이 없으면 null이 반환됩니다.

• int getMaxAge( ): 쿠키 수명을 반환합니다.

단, setMaxAge( )로 설정한 적이 없다면 -1을 반환한다.