클라이언트가 서버에 전송하게되는 실제적인 정보로 Set-Cookie 헤더에 반드시 포함되어야 한다. 저장할 쿠키의 이름과 값을 말하며, Name=Value 필드는 Set-Cookie헤더에 오직하나만 포함해야한다. 세미콜론(;), 쉼표(,), 공백( )을 제외한 어떠한 것도 입력할 수 있다. 이 문자들을 나타내기 위해서는 URL 인코드 방식과 같이 "%HH"를 이용해도 되며, 어떠한 다른 인코딩 방법을 사용해도 된다.
expires=DATE
저장된 쿠키의 유효기간을 지정한다. 지정된 기간이 지나면 해당 쿠키가 사라지게 된다. 시간은 "Wdy, MM-DD-YY HH:MM:SS GMT"와 같은 형식으로 지정한다. 만약 지정되지 않으면 클라이언트가 종료할 때까지만 유효하며, 클라이언트를 종료하면 해당 쿠키는 사라진다. 클라이언트를 종료한 후에도 쿠키를 참조하기위해서는 반드시 expires=Date를 지정해야한다.
domain=DOMAIN_NAME
Set-Cookie 헤더를 출력하는 서버의 도메인 명을 지정한다. Set-Cookie를 출력하는 CGI의 URI가 http://qaos.com/cgi-bin/cookie.cgi라면 domain=comp.mailx2.com이 지정된다.
클라이언트는 요청한 URI가 지정된 도메인 안에 있어야만 저장된 쿠키를 서버쪽에 넘겨주게 된다. 도메인은 뒷부분부터 부분문자열 검색(substring search)을 행하여 일치되면 지정된 도메인안에 있는 것으로 간주된다.
또한 지정된 도메인 안에 있는 서버만이 쿠키를 다시 지정할 수 있다. 상위 7가지 특수한 도메인은 적어도 두자리, 그 외의 도메인은 적어도 세자리를 필요로 한다. 만약 이 속성이 지정되어 있지 않으면, 기본적으로 Set-Cookie 헤더를 출력하는 서버의 주소가 지정된다.
path=PATH
네스케잎이 쿠키정보의 전달여부를 판단하는 기준이 되는 필드로서 저장된 쿠키의 유효한 경로를 지정한다. 만약 도메인이 유효하다면, 다시 경로를 앞부분부터 부분문자열 검색하여 일치되면 비로소 저장된 쿠키를 서버쪽에 넘겨주게 된다. 만약 이 속성이 지정되어 있지 않으면, 기본적으로 쿠키를 지정하는 HTTP 응답헤더와 같이 넘어오는 문서의 경로로 지정된다. 위의 예에서는 /cgi-bin이 된다.
secure
만약 이 필드를 지정하면 쿠키를 SSL을 통해서만 전송한다.
Cookie의 전송
지정된 도메인의 지정된 경로의 문서를 요청하면 클라이언트는 다음과 같은 Cookie 헤더를 서버측으로 전송함으로서 Cookie 정보를 전송한다.
Cookie: NAME=VALUE
일치되는 Cookie가 하나 이상일 경우에는 다음과 같은 형식의 Cookie 헤더를 전송한다.
Cookie: NAME1=VALUE1; NAME2=VALUE2
Cookie의 변경, 삭제삭제
expires를 지난 시간으로 설정하면 쿠기는 삭제된다.
변경
같은 경로의 같은 이름의 다른 값을 지정하면 쿠기는 변경된다.
Cookie의 제한
전체적으로 300개의 쿠키가 저장될 수 있다.
각 쿠키별로 이름과 값을 합하여 4 KB까지 저장될 수 있다.
서버나 도메인별로 20개의 쿠키가 저장될 수 있다.
주의사항
프락시 서버(proxy server)를 이용할 경우 쿠키가 캐쉬되므로 캐쉬되지 않도록 HTTP의 Pragma General Header을 no-cache로 해야 한다.
사용예저장