쿠키 획득, 값 설정
5426 단어 cookie
HttpCookie cookie = new HttpCookie("cookieName");
cookie.Value = "name1"
HttpContext.Current.Response.Cookies.Add(cookie);
읽기:
HttpContext.Current.Request.Cookies["cookieName"].Value
쿠키 존재 여부 판단:
if(HttpContext.Current.Request.Cookies["cookieName"]==null){
//do something
}
쿠키 유효기간 설정
cookie.Expires = DateTime.Now.AddDays(1);
ASP.NET에서 Cookies 사용(전)
하나, cookies 쓰기
메서드 1: Response.Cookies["username"].Value="gjy"; Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);메서드 2: System.Web.HttpCookie newcookie=new HttpCookie("username"); newcookie.Value="gjy"; newcookie.Expires=DateTime.Now.AddDays(1); Response.AppendCookie(newcookie);
하위 키가 있는 cookies: System을 만듭니다.Web.HttpCookie newcookie=new HttpCookie("user"); newcookie.Values["username"]="gjy"; newcookie.Values["password"]="111"; newcookie.Expires=DateTime.Now.AddDays(1); Response.AppendCookie(newcookie);
혹은
HttpCookie UserCookie = new HttpCookie("KindCode");UserCookie["bigKind"] = lstBigKindCode.SelectedValue.Trim();UserCookie["smallKind"] = lstSmallKindCode.SelectedValue.Trim();UserCookie["UserName"] = strUserName;UserCookie["userKind"] = lsbUserSmallKindCode.SelectedValue;UserCookie.Expires = DateTime.Now.AddDays(1);//이 설정은 얼마나 보관해야 합니까?Response.Cookies.Add(UserCookie);
2. cookies 읽기: 하위 키 없음 읽기:if(Request.Cookies ["username"]!=null) {Response.Write(Server.Html Encode(Request.Cookies ["username"].Value))} 하위 키 읽기가 있습니다:if(Request.Cookies ["user"]!=null) {Response.Write(Server.Html Encode(Request.Cookies ["user"][username].Value)).
}
혹은
HttpCookie cookie = Request.Cookies["KindCode"];if (cookie != null){string bigKind = cookie.Values["bigKind"];string userName = cookie.Values["UserName"];
}
3. 쿠키 제거
HttpCookie cookie = Request.Cookies["KindCode"];if (cookie != null){cookie.Expires = DateTime.Now.AddDays(-2);Response.Cookies.Set(cookie);
}
넷째, 쿠키 응용 프로그램 요약
쿠키에 쓰기만 하면
1. Name 및 Value 속성은 프로그램에서 설정되며 기본값은 빈 참조입니다.
2. Domain 속성의 기본값은 현재 URL의 도메인 이름 부분입니다. 이 쿠키를 보내는 페이지가 어느 디렉터리에 있든지 상관없습니다.
예를 들어 http://www.kent.com/application1/login.aspx 페이지에서 쿠키를 보내면 Domain 속성이 부족한 것은 www.kent.com이고 프로그램에서 이 속성을 필요한 값으로 설정할 수 있다.
3. Path 속성의 기본값은 루트 디렉터리입니다. 즉, "/". 이 쿠키를 보내는 페이지가 어느 디렉터리에 있든지 상관없습니다.프로그램에서 일정한 경로로 설정하여 이 쿠키의 역할 범위를 더욱 제한할 수 있습니다.
4. Expires 속성, 이 쿠키의 만료 날짜와 시간을 설정합니다.쿠키의 유효기간(기본값)을 설정하지 않으면 쿠키를 만들 수도 있지만 사용자의 하드디스크에 저장하지 않고 사용자 세션 정보의 일부가 되며, 브라우저를 닫거나 세션 제한 시간을 초과하면 이 쿠키는 사라진다. 이런 쿠키를 비영구적인 쿠키라고 부른다.Session ID를 저장하는 쿠키는 하드 드라이브에 저장되지 않고 메모리에만 존재하는 일종의 쿠키입니다.
5. 보낼 쿠키를 Response의 쿠키 속성에 첨부하면 클라이언트: Reponse.Cookies.Add(Cookie)
6. Domain 속성과 Path 속성이 같은 모든 쿠키는 클라이언트에 하나의 파일에 존재하며 쿠키 간은 "*"로 분할됩니다.각 쿠키의 첫 번째 행은 쿠키의 이름, 두 번째 행은 값, 세 번째 행은 Domain 속성과 Path 속성으로 구성된 문자열로 이 쿠키의 역할 영역을 표시하고, 나머지 행은 쿠키의 일상적인 처리 정보(예: 만료 날짜와 시간)를 포함한다.쿠키에는 쿠키 이름이나 값의 길이를 변경하면 브라우저에서 수정을 감지하고 삭제할 수 있는 간단한 체크섬 하나가 있습니다.
2 읽기 쿠키
1. Request.쿠키 속성에는 클라이언트가 서버로 보내는 모든 쿠키의 집합이 포함되어 있으며, 요청 URL의 역할 범위 내의 쿠키만 브라우저가 Http 요청과 함께 서버로 전송됩니다.
2. Name 및 Value 속성 및 하위 키 값은 쉽게 읽을 수 있습니다.
3. Domain과 Path 속성은 읽을 수 없습니다. Domain 속성은 영원히 "이고, Path 속성은 영원히"/"입니다.원래 이런 속성의 용도는 매우 제한되어 있다.페이지가 쿠키와 동일한 도메인에 있지 않으면 해당 페이지에서 쿠키를 받을 수 없습니다.
4. 쿠키의 만료 날짜와 시간도 읽을 수 없습니다.실제로 브라우저가 서버에 쿠키 정보를 보낼 때 브라우저는 만료된 정보를 포함하지 않는다.Expires 속성을 읽을 수 있지만 항상 0의 날짜/시간 값이 반환됩니다.Expires 속성의 주요 역할은 브라우저가 쿠키 저장에 대한 일상적인 관리를 수행하도록 돕는 것입니다.서버의 측면에서 볼 때 쿠키는 존재하거나 존재하지 않기 때문에 서버에 있어서 유효기간은 유용한 정보가 아니다.따라서 브라우저는 쿠키를 보낼 때 이 정보를 제공하지 않습니다.쿠키의 만료 날짜가 필요한 경우 다시 설정해야 합니다.
3 수정 및 삭제 쿠키
1. 사실 당신은 쿠키를 직접 수정할 수 없습니다. 같은 이름의 쿠키를 만들고 이 쿠키를 브라우저에 보내서 클라이언트의 오래된 쿠키를 덮어씁니다.
2. 마찬가지로 쿠키를 직접 삭제할 수 없습니다. 쿠키를 수정하면 브라우저에서 쿠키를 삭제할 수 있습니다. 쿠키의 유효기간은 과거 시간입니다. 브라우저가 쿠키의 유효기간을 확인하면 만료된 쿠키가 삭제됩니다.
4 쿠키와 Session의 관계.
1. asp.net에서 Session은 cookie와 cookieless 두 가지 방법을 사용할 수 있다. cookieless 방식은 Session ID를 URL에 놓고 클라이언트와 서비스 측에서 왔다갔다하며 cookie를 사용할 필요가 없다. 여기서 이 방식을 논의하지 않는다.
2. asp.net에서 고객이 처음으로 URL을 요청했는데 서버는 이 고객에게 세션 ID를 생성하여 비영구적인 쿠키로 클라이언트에게 보냅니다.
3. 비영구적인 쿠키는 브라우저가 닫힌 후에만 사라집니다. 세션의 시간 초과 판단은 다음과 같습니다.
3.1 첫 번째 클라이언트 액세스 서버는 Session ID를 받아 비영구적인 쿠키로 클라이언트에게 전송됩니다.
3.2 이 브라우저가 닫히기 전에 이 URL에 방문하면 브라우저는 이Session ID를 서버에 보냅니다. 서버는Session ID에 따라 이 고객의 서버에 대응하는 다양한 상태(즉 Session에 저장된 다양한 값)를 유지하고 웹 응용 프로그램에서 이Session을 조작할 수 있습니다.
3.3 서버는 이 세션 ID의 만료 시간을 유지하고 IIS에서 세션 시간 초과를 설정할 수 있습니다.요청할 때마다 서버에서 이 SessioID의 만료 시간을 설정된 시간 초과로 연장합니다.
3.4 서비스 측에서 어떤SessionID가 이미 유행이 지났다는 것을 발견했다. 즉, 한 고객이 설정된 시간 초과 시간 안에 이 사이트를 다시 방문하지 않았기 때문에 이SessionID는 이SessionID와 관련된 모든Session 변수와 함께 삭제될 것이다.
3.5 클라이언트의 브라우저가 닫히기 전에 서버가 이SessionID를 삭제한 줄 몰랐습니다. 클라이언트는 이SessionID의 쿠키를 서버에 보냈습니다. 그러나 이때 서버는 이SessionID를 몰랐습니다. 이 사용자를 새로운 사용자로 생각하고 새로운SessionID를 다시 분배할 것입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
서버에서 쿠키 만료 값 가져오기브라우저는 쿠키 만료를 처리하므로 쿠키의 만료 값을 서버에 전달하지 않습니다. 서버에서 쿠키의 만료 값을 얻으려면 일부 조정을 해야 합니다. 두 가지 방법이 있습니다. JSON 값으로 쿠키를 생성할 수 있습니다 다른...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.