-
ASP.NET에서 COOKIE 사용IT/VB.NET 2024. 10. 5. 05:51728x90반응형cookie는 오늘날 많은 웹사이트에서 대단히 중요한 부분을 차지하고 있으며 대부분의 웹사이트에서 유용하게 사용되고 있다. 여기서는 asp.net에서 Cookie의 셋팅 방법과 셋팅된 값을 호출하는 방법에 대해서 알아보기로 한다.
먼저 Cookie를 저장하고 호출하기 위해서 HttpCookie type의 변수를 선언한다.
새로운 HttpCookie Class를 생성하는 방법은 두 가지의 OverLoad형태로 지원이 된다. OverLoad 리스트는 다음과 같다.
HttpCookie(string)위의 OverLoad리스트를 이용해서 아래와 같이 새로운 Cookie Class의 Instance를 생성한다.
HttpCookie(string, string)
기존의 asp에서는 Cookie를 기록하기 위해서 NameValueCollection인 HasKeys를 사용하지 않는 경우는 response.Cookies(“MyName”) = “신동열”의 형태로 사용을 했고, HasKeys를 사용하는 경우는 response.Cookies(“MyInfo”)(“name”) = “신동열”의 형태로 사용했다. ASP.Net에서도 asp와 동일하게 사용이 가능하다. HttpCookie(string)가 HasKeys를 사용하는 경우이고, HttpCookie(string, string)이 HasKeys를 사용하지 않는 경우이다.
1. HttpCookie(string, string) class를 이용한 Cookie사용 (HasKeys를 사용하지 않는 경우)
~ HasKeys를 사용하지 않고 Cookie를 기록하는 방법은 아주 간단하다.
tCookie = new HttpCookie(“MyName”, “신동열”)Cookie를 새로 생성하고 response의 AppendCookie Method를 이용해서 Client의 PC에 Cookie를 보내게 된다. 이렇게 기록된 cookie 값을 호출하기 위해서 request.cookies 메소드를 이용해서 그 값을 불러온다. 아래의 코드를 보면 이렇게 호출된 Cookie를 사용하는 방법을 알 수 있다.
response.AppendCookie(tCookie)
위 코드에서 tCookie.Name은 MyName이라는 값을 가지고 있고, tCookie.HasKeys는 쿠기가 HasKeys인지 아닌지에 대한 boolean값을 가지고 있다. 현재 tCookie는 HasKeys가 아니므로 false를 반환할 것이다. tCookie.Expires는 파기시점을 반환하는데 Cookie를 발생할 때 파기시점을 지정하지 않았으므로 파기시점이 없다(브라우저 종료시 자동 파기). 그리고 마지막 라인의 tCookie2.Value는 “신동열”이라는 문자열을 반환할 것이다.
2. HttpCookie(string) class를 이용한 Cookie사용 (HasKeys를 사용하는 경우)
~ 이것은 NameVlaueCollection을 사용하는 방법으로 하나의 Cookie에 좀더 다양한 정보를 저장하는 것이 가능하다. 쿠키를 기록하는 방법은 아래의 코드와 같다.
oCookie = new HttpCookie("MyInfo")~ 아래 코드는 HasKeys형태로 저장된 쿠키를 호출해서 화면에 Display하는 방법이다.
oCookie.Values.Add("이름", "동열")
oCookie.Values.Add("주소", "서울에서 살고 있음.")
oCookie.Values.Add("전자우편", "stonwin@chollian.net")
Response.AppendCookie(oCookie)
oCookie = request.Cookies(“MyInfo”) à cookie의 호출~ HasKeys 형태로 저장된 Cookie는 Loop를 사용해서 루틴을 돌면서 호출이 가능하다.
호출된 쿠키는 다음과 같은 속성을 가지고 있다.
oCookie.Name : Cookie의 이름을 반환한다. “MyInfo” 문자열 반환
oCookie.Path : Cookie가 사용될 Path를 반환한다. 현재 지정된 패스 없음.(Default 사용)
oCookie.Domain : Cookie가 사용될 Domain을 반환한다. 현재 지정된 값 없음.(Default 사용)
oCookie.HasKeys : HasKeys에 대한 Boolean값 반환 현재 쿠키에서는 True 반환
oCookie.Expires : 파기시점 반환, 지정않은 경우 브라우저 종료시 파기
oCookie.Secure : HTTPS상에서만 전달될 것인지에 대한 Boolean값 반환
oCookie.Value : 쿠키가 가지고 있는 값 반환
반환 값 à 이름=동열&주소=서울에서 살고 있음.&전자우편=stonwin@chollian.net
oCookie.Values("이름") à “동열”이라는 문자열 반환
oCookie("주소")) à “서울에서 살고 있음.” 문자열 반환
Request.Cookies("MyInfo")("전자우편") à “stonwin@chollian.net” 문자열 반환
3. Cookie의 파기
~ Cookie를 파기하기 위해서는 Expires Property를 이용한다.
4. 현재 Client에 저장된 모든 쿠키 Collection 가져오기
Sub CookieCollectionView()
'현재 쿠키 컬렉션 가져오기
Dim oReqCookies As HttpCookieCollection = Request.Cookies
Dim sReqCookies() As String = oReqCookies.AllKeys
For i=0 to Ubound(sReqCookies)
response.write("cookie "& i &":"& sReqCookies(i) & "<br>")
Next i
End Sub
위의 Sub 프로시저를 실행하면 아래와 같이 Client에 저장된 모든 쿠키를 가져와서 화면에 출력해 준다.
cookie 0:MyInfo
cookie 1:ScriptLanguagePreference
cookie 2:ASPSESSIONIDGGQGGMMG
cookie 3:AspSessionId
cookie의 사용 예
Goover가 알려주는 쿠키
쿠키(Cookie)에 대한 이해
쿠키는 우리가 웹사이트를 방문할 때 발생하는 중요한 기술 중 하나로, 사용자 컴퓨터에 저장되는 작은 텍스트 파일입니다. 이 파일은 웹사이트가 사용자를 더 잘 이해하고, 개인화된 경험을 제공할 수 있도록 해주는 역할을 합니다. 아래에서 쿠키의 정의, 역사, 종류, 사용 목적, 그리고 개인 정보 보호와 관련된 요소를 자세히 살펴보겠습니다.
쿠키의 정의
쿠키(HTTP 쿠키)는 하이퍼텍스트 전송 프로토콜(HTTP)에 기반하여 웹 브라우저가 저장하는 정보 파일로, 웹사이트는 사용자가 방문할 때 이 파일을 사용하여 해당 사용자의 브라우징 행동을 추적하고 기억하는 데 사용됩니다. 일반적으로 쿠키는 사용자 ID, 방문한 페이지, 사용자 설정 등과 같은 정보를 저장합니다. 쿠키는 보통 "세션 쿠키"와 "영구 쿠키"로 분류됩니다.
세션 쿠키: 웹사이트를 방문하는 동안만 유지되며, 브라우저를 종료하면 삭제됩니다. 사용자의 검색 상태를 기억하는 데 도움이 됩니다.
영구 쿠키: 사용자 기기에 일정 기간 저장되며 사용자가 다시 웹사이트를 방문할 때 정보가 복구될 수 있습니다. 예를 들어, 로그인 정보를 기억하거나 방문한 웹사이트의 언어 설정을 유지하는 데 사용됩니다.
쿠키의 역사
쿠키의 개념은 1994년, 넷스케이프 커뮤니케이션스의 개발자 루 몬툴리에 의해 도입되었습니다. 그는 당시 MCI를 위한 전자 상거래 애플리케이션을 개발하면서 사용자 상태를 기억할 수 있는 방법이 필요하다고 느꼈고, 이로 인해 쿠키라는 기술이 발전하게 되었습니다. 이는 가상 쇼핑 카트를 신뢰성 있게 구현하기 위한 해결책으로 주목받게 되었습니다.
쿠키의 사용 목적
쿠키는 여러 가지 목적으로 사용되며, 주로 다음과 같은 기능을 수행합니다:
개인화된 경험 제공: 사용자가 이전에 설정한 정보나 선호도를 기억하여 맞춤형 콘텐츠를 제공함으로써 웹사이트의 탐색 경험을 개선합니다.
상태 유지: 세션 쿠키를 통해 사용자의 로그인 상태를 유지함으로써, 사용자가 별도로 로그인하지 않아도 됩니다. 이는 특히 전자상거래 웹사이트에서 장바구니에 담긴 상품을 기억하는 데 유용합니다.
웹 분석: 쿠키를 통해 사용자의 행동 패턴을 분석하고, 웹사이트의 구조나 콘텐츠를 개선하기 위한 통계 정보를 수집합니다. 이는 웹 개발자가 사이트를 효과적으로 관리하고 최적화하는 데 큰 도움을 줍니다.
개인 정보 보호와 쿠키
쿠키는 유용한 기술이지만, 개인 정보 보호와 관련된 논란도 존재합니다. 사용자의 브라우징 데이터를 수집할 수 있기 때문에, 관리나 해제에 대한 선택권이 필요합니다. 많은 웹 브라우저에서 사용자는 쿠키 수집을 제어할 수 있는 옵션을 제공하며, 모든 쿠키를 허용하거나 특정 쿠키에 대해 알림을 받고 삭제할 수 있습니다.
예를 들어, 사용자는 웹 브라우저의 설정을 통해 쿠키를 차단하거나 삭제할 수 있으며, 이는 개인의 데이터 보호에 기여합니다. 또한, 쿠키를 통해 수집된 정보가 개인을 식별할 수 없도록 설계된 사이트도 많습니다.
결론
쿠키는 웹 사용의 편리함을 제공하는 중요한 기술로, 사용자 경험을 향상시키고 웹사이트의 기능을 최적화하는 데 기여합니다. 그러나 사용자의 개인 정보를 보호하는 것 역시 중요한 사안이므로, 쿠키의 사용에 대한 이해와 관리가 필요합니다. 사용자는 쿠키에 대한 충분한 정보를 가지고 이를 관리함으로써 보다 안전하고 편리한 웹 경험을 누릴 수 있습니다.728x90'IT > VB.NET' 카테고리의 다른 글
VB6.0과 VB.NET의 Object, Function 매핑 테이블 (2) 2024.10.15 코드 변환 SITE (VB.NET <-> C#) (5) 2024.10.09 VB.NET 교육자료 (2) 2024.10.08 SMARTCLIENT (0) 2024.10.07 VB.NET 소개 (1) 2024.10.05