Share via


방법: 쿠키 작성

업데이트: 2007년 11월

쿠키를 사용하면 웹 응용 프로그램에서 기록이나 사용자 기본 설정 같은 사용자별 정보를 저장할 수 있습니다. 쿠키는 웹 서버와 클라이언트 간을 이동하는 요청/응답에 포함된 소규모의 텍스트 비트입니다. 쿠키에는 사용자가 사이트를 방문할 때마다 웹 응용 프로그램에서 읽을 수 있는 정보가 포함되어 있습니다.

브라우저는 클라이언트 컴퓨터의 쿠키를 관리합니다. Cookies 속성을 노출하는 HttpResponse 개체를 사용하여 쿠키가 클라이언트에 전달됩니다. 웹 응용 프로그램에서 브라우저에 보내려는 모든 쿠키는 이 컬렉션에 추가해야 합니다. 새 쿠키를 작성하는 경우 NameValue를 지정해야 합니다. 각 쿠키의 이름은 브라우저에서 후속 요청과 함께 쿠키를 보낼 때 웹 응용 프로그램에서 식별할 수 있도록 고유해야 합니다.

두 가지 방법을 사용하여 사용자 컴퓨터에 쿠키를 작성할 수 있습니다. Cookies 컬렉션에 직접 쿠키 속성을 설정하거나, HttpCookie 개체의 인스턴스를 만들어 Cookies 컬렉션에 추가할 수 있습니다. 클라이언트에 ASP.NET 페이지가 렌더링되기 전에 쿠키를 만들어야 합니다. 예를 들어 Page_Load 이벤트 처리기에는 쿠키를 작성할 수 있지만 Page_Unload 이벤트 처리기에는 작성할 수 없습니다. 페이지 수명 주기에 대한 자세한 내용은 ASP.NET 페이지 수명 주기 개요를 참조하십시오.

자세한 내용은 ASP.NET 쿠키 개요를 참조하십시오.

Cookies 컬렉션에 쿠키 속성을 설정하여 쿠키를 작성하려면

  • 쿠키를 작성할 ASP.NET 페이지에서 Cookies 컬렉션의 쿠키에 속성을 할당합니다.

    다음 코드 예제에서는 Font 및 Color 하위 키의 값이 설정된 UserSettings라는 쿠키를 보여 줍니다. 또한 만료 시간을 내일로 설정합니다.

    Response.Cookies("UserSettings")("Font") = "Arial"
    Response.Cookies("UserSettings")("Color") = "Blue"
    Response.Cookies("UserSettings").Expires = DateTime.Now.AddDays(1)
    
    Response.Cookies["UserSettings"]["Font"] = "Arial";
    Response.Cookies["UserSettings"]["Color"] = "Blue";
    Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
    

HttpCookie 개체의 인스턴스를 만들어 쿠키를 작성하려면

  1. HttpCookie 형식의 개체를 만들고 이름을 할당합니다.

  2. 쿠키의 하위 키에 값을 할당하고 쿠키 속성을 설정합니다.

  3. Cookies 컬렉션에 쿠키를 추가합니다.

    다음 코드 예제에서는 HttpCookie 개체의 myCookie 인스턴스를 보여 줍니다. 이 인스턴스는 UserSettings 쿠키를 나타냅니다.

    Dim myCookie As HttpCookie = New HttpCookie("UserSettings")
    myCookie("Font") = "Arial"
    myCookie("Color") = "Blue"
    myCookie.Expires = Now.AddDays(1)
    Response.Cookies.Add(myCookie)
    
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie["Font"] = "Arial";
    myCookie["Color"] = "Blue";
    myCookie.Expires = DateTime.Now.AddDays(1d);
    Response.Cookies.Add(myCookie);
    

강력한 프로그래밍

기본적으로 쿠키는 같은 도메인에 있는 모든 페이지에서 공유하지만 Path 속성을 설정하여 웹 사이트의 특정 하위 폴더로 쿠키를 제한할 수 있습니다. 응용 프로그램의 모든 폴더에 있는 모든 페이지에서 쿠키를 검색할 수 있게 하려면 응용 프로그램의 루트 폴더에 있는 페이지에서 쿠키를 설정하고 Path 속성을 설정하지 마십시오.

쿠키 만료 시간을 지정하지 않을 경우 쿠키는 클라이언트 컴퓨터에 지속되지 않고 사용자 세션이 만료되면 함께 만료됩니다.

쿠키는 String 형식의 값만 저장할 수 있습니다. 문자열이 아닌 값을 쿠키에 저장하려면 먼저 이 값을 문자열로 변환해야 합니다. 대부분의 데이터 형식에 대해서는 ToString 메서드만 호출하면 됩니다. 자세한 내용은 유지할 데이터 형식에 대한 ToString 메서드를 참조하십시오.

보안

사용자 이름이나 암호 같은 중요한 정보는 쿠키에 저장하지 마십시오. 쿠키 보안 정보에 대한 자세한 내용은 ASP.NET 쿠키 개요를 참조하십시오.

참고 항목

작업

방법: 쿠키 읽기

방법: 쿠키 삭제

개념

ASP.NET 쿠키 개요

웹 응용 프로그램의 기본 보안에 대한 유용한 정보

ASP.NET 상태 관리 개요