Cookies 컬렉션은 쿠키 값을 설정합니다. 지정된 쿠키가 없으면 작성됩니다. 쿠키가 있으면 새 값을 취하고 이전 값은 버립니다.
Response.Cookies(cookie)[(key)|.attribute] = value
| 이름 | 설명 |
| Domain | 쓰기 전용이며, 지정된 쿠키는 단지 이 도메인에 대한 요청으로만 보내집니다. |
| Expires | 쓰기 전용이며, 쿠키 만료 날짜입니다. 세션이 종료된 후 클라이언트의 디스크에 쿠키가 저장되게 하려면 이 날짜를 반드시 설정해야 합니다. 이 속성을 현재 날짜 이후의 날짜로 설정하지 않으면 세션이 종료될 때 쿠키도 만료됩니다. |
| HasKeys | 읽기 전용이며, 쿠키가 키를 포함하는지 여부를 지정합니다. |
| Path | 쓰기 전용이며, 지정하면 쿠키는 지정된 경로에 대한 요청에만 보내집니다. 이 속성을 설정하지 않으면 응용 프로그램 경로가 사용됩니다. |
| Secure | 쓰기 전용이며, 쿠키 보안 여부를 지정합니다. |
다음 스크립트에서처럼 키가 있는 쿠키를 작성하면
<%
Response.Cookies("mycookie")("type1") = "sugar"
Response.Cookies("mycookie")("type2") = "ginger snap"
%>
다음 헤더를 보냅니다.
Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap
그 이후 myCookie에 대한 할당에서 키를 지정하지 않으면 type1과 type2는 없어집니다. 다음 예제를 참조하십시오.
<% Response.Cookies("myCookie") = "chocolate chip" %>
앞의 예제에서 type1과 type2 키는 없어지고 이들 값은 버려집니다. myCookie 쿠키는 이제 chocolate chip이라는 값을 가집니다.
반대로 키가 있는 쿠키를 호출하면 쿠키에 포함된 키가 아닌 값들이 없어집니다. 예를 들어, 위 코드 뒤에 다음과 같은 Response.Cookies를 호출하면,
<% Response.Cookies("myCookie")("newType") = "peanut butter" %>
chocolate chip 값이 버려지고 newType은 peanut butter로 설정됩니다.
다음 구문을 이용하여 쿠키에 키가 있는지를 알 수 있습니다.
<%= Response.Cookies("myCookie").HasKeys %>
myCookie가 쿠키 사전이라면 앞의 값은 TRUE입니다. 그렇지 않을 경우 값은 FALSE입니다.
이터레이터를 사용하여 쿠키 속성을 설정할 수 있습니다. 예를 들어, 모든 쿠키가 특정 날짜에 만료되게 하려면 다음 구문을 사용하십시오.
<%
For Each cookie in Response.Cookies
Response.Cookie(cookie).Expires = #July 4, 1997#
Next
%>
또한 컬렉션의 모든 쿠키의 값 또는 쿠키에 있는 모든 키에 대해 반복할 수 있습니다. 그러나 키를 가지고 있지 않은 쿠키의 값에 대해 반복하려고 하면 반환되는 값이 없습니다. 이를 방지하려면 먼저 .HasKeys 구문을 사용하여 쿠키에 키가 있는지 확인하십시오. 다음 예제를 참조하십시오.
<%
If Not cookie.HasKeys Then
'Set the value of the cookie.
Response.Cookies(cookie) = ""
Else
'Set the value for each key in the cookie collection.
For Each key in Response.Cookies(cookie)
Response.Cookies(cookie)(key) = ""
Next
%>
다음은 쿠키 값을 설정하고 속성에 값을 할당하는 방법을 보여 주는 예제입니다.
<%
Response.Cookies("Type") = "Chocolate Chip"
Response.Cookies("Type").Expires = "July 31, 2001"
Response.Cookies("Type").Path = "/"
%>