HOWTO: 세션 쿠키를 사용하지 않고 값을 보존하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 175167 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR175167
모두 확대 | 모두 축소

이 페이지에서

요약

HTML 양식을 사용하는 웹 사이트를 개발하는 경우 나중에 사용하기 위해 사용자가 입력한 정보를 추적해야 할 수도 있습니다. 이 작업을 "값 보존"이라고 합니다.

Active Server Pages(ASP)는 이 작업을 편리하게 수행할 수 있는 세션 변수를 제공하지만 이 변수를 사용하려면 세션 ID가 필요합니다. 본 문서에서는 세션 쿠키를 사용하지 않고 양식 값을 저장하는 방법을 설명합니다.

추가 정보

HTML로 개발할 때 값을 보존하기 위해 일반적으로 아래 세 가지 방법을 사용합니다.

값을 양식의 숨김 필드에 저장

값을 숨김 필드에 저장하면 값은 보이지 않지만 손상되지 않습니다. 사용자가 양식을 전송하면 양식 값이 읽혀진 다음 곧바로 HTML 양식의 숨김 필드에 다시 작성됩니다. 이 값은 그 양식이 전송될 때 다른 필드와 함께 전송됩니다.

아래의 세 페이지는 이 방법에 대한 예를 보여줍니다.
   <%@ LANGUAGE="VBSCRIPT" %>
   <!-- This is FORM1.HTM -->

      <HTML>
      <HEAD><TITLE>FORM1.HTM</TITLE></HEAD>
      <BODY>
      <Form Action=Form2.asp Method=Post>
         <Input Type=Text Value="Page1 Value" Name="Value1"><P>

         <Input Type=Submit Name=btnSubmit>
      </Form>
      </BODY>
      </HTML>

   <!-- This is FORM2.ASP -->
   <%@ LANGUAGE="VBSCRIPT" %>
        <%
       Response.Cookies("Value1") = Request("Value1")
        ' If you wish to have the value persisted beyond the current visit,
        ' you must also assign an expiration date as follows:
        Response.Cookies("Value1").Expires = "July 31, 1998"
        %>
        <HTML>
        <HEAD><TITLE>FORM2.ASP</TITLE></HEAD>
        <BODY>
        <Form Action=Form3.asp Method=Post>
          <Input Type=Text Value="Page2 Value" Name="Value2"><P>
          <Input Type=Submit Name=btnSubmit>
        </Form>
        </BODY>
        </HTML>

   <!-- This is FORM3.ASP -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <HTML>
      <HEAD><TITLE>FORM3.ASP</TITLE></HEAD>
      <BODY>
      Value 1 = <%= Request("Value1") %><BR>
      Value 2 = <%= Request("Value2") %><BR>
      </BODY>
      </HTML>

값을 URL에 추가

이 방법은 첫 번째 방법과 비슷하지만 값을 숨김 변수에 전달하지 않고 대신 URL의 끝에 추가하여 전송합니다. 이 방법의 단점은 브라우저마다 다를 수 있는 URL의 크기 제한에 있습니다. 또한, 개인 정보나 기타 정보가 다른 사용자에게 노출되기 쉽습니다. 아래의 페이지는 이 방법에 대한 예를 보여줍니다.
   <!-- This is FORM1.HTM -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <HTML>
      <HEAD><TITLE>FORM1.HTM</TITLE></HEAD>
      <BODY>
      <Form Action=Form2.asp Method=Post>
         <Input Type=Text Value="Page1 Value" Name="Value1"><P>

         <Input Type=Submit Name=btnSubmit>
      </Form>
      </BODY>
      </HTML>

   <!-- This is FORM2.ASP -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <HTML>
      <HEAD><TITLE>FORM2.ASP</TITLE></HEAD>
      <BODY>

      <Form Action="Form3.asp?value1=<%=
       Server.URLEncode(Request("Value1"))
       %>" Method=Post>
         <Input Type=Text Value="Page2 Value" Name="Value2"><P>

         <Input Type=Submit Name=btnSubmit>
      </Form>
      </BODY>
      </HTML>

   <!-- This is FORM3.ASP -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <HTML>
      <HEAD><TITLE>FORM3.ASP</TITLE></HEAD>
      <BODY>
      Value 1 = <%= Request("Value1") %><BR>
      Value 2 = <%= Request("Value2") %><BR>
      </BODY>
      </HTML>

자신만의 쿠키에 기록

이 방법은 정보를 다시 클라이언트 컴퓨터에 기록해야 하기 때문에 잘 사용되지 않습니다. 이 방법이 일반적인 세션 기반 변수를 사용하는 방법보다 나은 점은 브라우저를 통해 나중에 다시 방문할 수 있도록 정보를 보존한다는 것뿐입니다. 이 때문에 웹 서버에 정보를 유지할 필요성이 줄어듭니다.
   <!-- This is FORM1.HTM -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <HTML>
      <HEAD><TITLE>FORM1.HTM</TITLE></HEAD>
      <BODY>
      <Form Action=Form2.asp Method=Post>
         <Input Type=Text Value="Page1 Value" Name="Value1"><P>
         <Input Type=Submit Name=btnSubmit>
      </Form>
      </BODY>
      </HTML>

   <!-- This is FORM2.ASP -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <% Response.Cookies("Value1") = Request("Value1") %>
      <HTML>
      <HEAD><TITLE>FORM2.ASP</TITLE></HEAD>
      <BODY>
      <Form Action=Form3.asp Method=Post>
         <Input Type=Text Value="Page2 Value" Name="Value2"><P>
         <Input Type=Submit Name=btnSubmit>
      </Form>
      </BODY>
      </HTML>

   <!-- This is FORM3.ASP -->
   <%@ LANGUAGE="VBSCRIPT" %>
      <HTML>
      <HEAD><TITLE>FORM3.ASP</TITLE></HEAD>
      <BODY>
      Value 1 = <%= Request.Cookies("Value1") %><BR>
      Value 2 = <%= Request("Value2") %><BR>
      </BODY>
      </HTML>

참조

Visual InterDev 및 Active Server Pages에 대한 최신 기술 자료 문서와 기타 지원 정보를 보려면 Microsoft 기술 지원 웹 사이트에서 아래 문서를 참조하십시오.
http://support.microsoft.com/search/default.aspx?qu=vinterdev

(c) Microsoft Corporation 1997, All Rights Reserved.
기고: Paul Enfield, Microsoft Corporation

속성

기술 자료: 175167 - 마지막 검토: 2006년 5월 2일 화요일 - 수정: 4.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Active Server Pages 1.0
  • Microsoft Visual Studio 97 서비스 팩 3
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
키워드:?
kbvisid100 kbscript kbaspobj kbvbscript kbdsi kbgrpasp KB175167

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com