영구 쿠키와 비영구 쿠키는 어떻게 만듭니까?
영구 쿠키와 비영구 쿠키를 만드는 방법을 알 수 없는 것 같습니다. 다시 전송되는 HTTP 헤더에서 어떻게 다른가요?
쿠키에는 만료 날짜가 암시적으로 또는 명시적으로 설정되어 쿠키가 지속되는 기간을 제어합니다(사용자 에이전트가 실제로 적용하는지 여부에 따라 다름). 쿠키는 세션 기간 동안만(또는 더 짧은 기간 동안만) 유지될 수 있습니다.
쿠키가 유효하면 HTTP 요청과 함께 쿠키가 시작된 도메인으로 전달됩니다. 쿠키를 설정한 도메인만 쿠키를 읽을 수 있습니다(교차 사이트 스크립팅과 같이 이를 악용하는 방법이 있음).
쿠키가 특정 시간에 만료되도록 하려면 선택한 클라이언트 또는 서버 측 언어를 사용하여 쿠키에 만료 날짜를 설정하십시오.
세션이 종료될 때 쿠키가 만료되도록 하려면 만료 날짜를 설정하지 마십시오.
쿠키 설정자는 삭제 날짜를 지정할 수 있으며 이 경우 쿠키는 해당 날짜에 제거됩니다.
쿠키 설정자가 날짜를 지정하지 않으면 사용자가 브라우저를 종료하면 쿠키가 제거됩니다.
결과적으로 날짜를 지정하는 것은 쿠키가 세션 간에 유지되도록 하는 방법입니다. 이러한 이유로 만료 날짜가 있는 쿠키를 영구 쿠키라고 합니다.
예제 응용 프로그램으로 쇼핑 사이트는 영구 쿠키를 사용하여 사용자가 장바구니에 넣은 항목을 저장할 수 있습니다. (실제로 쿠키는 귀하의 컴퓨터가 아닌 쇼핑 사이트에 저장된 데이터베이스의 항목을 참조할 수 있습니다.) 이렇게 하면 사용자가 구매하지 않고 브라우저를 종료하고 나중에 다시 돌아와도 여전히 동일한 항목을 찾을 수 있습니다. 이 항목을 다시 찾을 필요가 없도록 합니다. 이러한 쿠키에 만료 날짜가 지정되지 않은 경우 브라우저가 닫힐 때 만료되고 장바구니 내용에 대한 정보가 손실됩니다.
ASP.NET에는 두 가지 유형의 쿠키가 있습니다.
영구 쿠키:
쿠키는 귀하의 컴퓨터 하드디스크에 저장됩니다. 하드 디스크에 남아 있으며 삭제되거나 만료될 때까지 웹 서버에서 액세스할 수 있습니다.
public void SetPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = Convert.ToDateTime(“12/12/2008″);
Response.Cookies.Add(cookie);
}
비영구 쿠키:
쿠키는 웹 브라우저가 실행되는 동안에만 저장됩니다. 브라우저를 닫을 때까지만 웹 서버에서 사용할 수 있습니다. 그들은 디스크에 저장되지 않습니다.
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}
세션 쿠키
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
Response.Cookies.Add(cookie);
특정 타임스탬프가 있는 쿠키( .NET DateTime 라이브러리 )
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.Today.AddMonths(12); //or AddMinutes, or AddHours...
Response.Cookies.Add(cookie);
영구 쿠키
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.MaxValue;
Response.Cookies.Add(cookie);
ReferenceURL : https://stackoverflow.com/questions/3869821/how-do-i-create-a-persistent-vs-a-non-persistent-cookie
'IT이야기' 카테고리의 다른 글
LOAD DATA INFILE을 사용하여 MySQL 테이블로 가져올 때 CSV 파일의 열을 건너뛰는 방법은 무엇입니까? (0) | 2021.09.16 |
---|---|
쉘 스크립트에서 if elif fi 사용 (0) | 2021.09.16 |
C의 모든 공백에서 문자열 분할 (0) | 2021.09.15 |
os.sep 또는 os.path.sep 중 어느 것을 사용해야 합니까? (0) | 2021.09.15 |
handler.postDelayed를 취소하는 방법은 무엇입니까? (0) | 2021.09.15 |