ASP Cookies

Programming/ASP 2008. 1. 15. 11:59
What is a Cookie?
  • 쿠키는 사용자를 인증하는데 주로 사용된다.
  • 쿠키는 서버가 사용자의 컴퓨터에 생성하는 작은 파일이다.
  • 같은 컴퓨터가 브라우저로 페이지를 요청할 때마다, 쿠키 역시 보내질 것이다.

How to Create a Cookie?

Response.Cookies 명령은 쿠키를 생성하는데 사용되고, <html> 태그 이전에 나타나야만 한다.
: firstname 이라는 이름의 쿠키와 oops 라는 값을 할당 하는 예

<%
Response.Cookies("firstname") = "oops"
%>

쿠키가 만료될 날짜를 지정하는 등의 쿠키 속성을 할당하는 것 또한 가능하다.

<%
Response.Cookies("firstname") = "oops"
Response.Cookies("firstname").Expires = #May 10, 2007#
%>


How to Retrieve a Cookie Value?

Request.Cookies 명령은 쿠키값을 검색하는데 사용한다.
: firstname 이라는 이름의 쿠키값을 검색하고 출력

<%
fname = Request.Cookies("firstname")
response.write(fname)
%>


A Cookie with Keys

쿠키가 여러 값을 가진다면, 우리는 쿠키가 키를 가지고 있다고 말한다.
: user 라는 이름의 쿠키를 생성하고, user 쿠키는 사용자에 관한 정보를 얻은 키를 가지는 예

<%
Response.Cookies("user")("firstname") = "Oops"
Response.Cookies("user")("lastname") = "Lee"
Response.Cookies("user")("country") = "Seoul"
Response.Cookies("user")("age") = "18"


Read all cookies

<%
Response.Cookies("firstname") = "hongs"
Response.Cookies("user")("firstname") = "Oops"
Response.Cookies("user")("lastname") = "Lee"
Response.Cookies("user")("country") = "Seoul"
Response.Cookies("user")("age") = "18"
%>

서버가 사용자에게 위의 모든 쿠키값을 보낸다고 가정하자
: 사용자에게 보내진 모든 쿠키를 읽는 예

<html>
<body>

<%
dim x, y
for each x in Request.Cookies
  response.write("<p>")
  if Request.Cookies(x).HasKeys then
    for each y in Request.Cookies(x)
      response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
      response.write("<br />")
    next
  else
    Response.Write(x & "=" & Request.Cookies(x) & "<br />")
  end if
  response.write("</p>")
next
%>

</body>
</html>

// output
user:firstname=Oops
user:lastname=Lee
user:country=Seoul
user:age=18
firstname=hongs


What if a Browser Does NOT Support Cookies?

어플리케이션이 쿠키를 지원하지 않는 브라우저를 사용한다면, 어플리케이션이 또 다른 페이지로부터 정보를 건네 받을 다른 방법을 사용해야만 할 것이다.

1. Add parameters to a URL
URL에 파라미터를 추가하는 방법

<a href="welcome.asp?fname=Oops&lname=Lee">
Go to Welcome Page</a>

welcome.asp 파일에서 값을 검색하려면 다음과 같이 한다.

<%
fname = Request.querystring("fname")
lname = Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>

2. Use a form
폼은 사용자가 전송 버튼을 클릭했을 때 사용자 입력을 welcome.asp 로 보낸다.

<form method="post" action="welcome.asp">
First Name: <input type="text" name="fname" value="">
Last Name: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

welcome.asp 파일에서 값을 검색하려면 다음과 같이 한다.

<%
fname = Request.form("fname")
lname = Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>



WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,