學習參考書ASP入門與實作(第二版)

回首頁 與我們連絡 網站地圖 加入我的最愛



 




 Cookies 物件

  1. Application 物件與 Session 物件將資訊記錄在 Server端,而 Cookies物件會藉由瀏覽器所提供之Cookies功能,將資訊記錄在客戶端,也就是說: Cookies 物件是儲存在瀏覽連線者的瀏覽器之中!
  2. 我們可用 Cookies 物件的紀錄來判斷某個使用者是否曾經進入本網站。奇怪!雖然Session 物件將資訊記錄在 Server端,但是它也會個別紀錄連線瀏覽者是否曾經進入本網站啊!但是Session 物件的生存期限是很短的,當瀏覽連線者的瀏覽器在設定時間內(預設為20分鐘)沒有向伺服器要求任何資料的話,伺服器就會將Session 物件中的資料全數消除,而 Cookies 物件是存在於瀏覽連線者的瀏覽器中的,即使是瀏覽者離線了,Cookies 物件的資料記錄依然存在!
  3.   Cookies 物件是 Response 物件及 Request 物件之屬性,用法如下: 
    Response.cookies
    寫入Cookies 
    Request.cookies
    讀取Cookies

如何證明 Cookies 物件是儲存在瀏覽連線者的瀏覽器之中?

  1.  將撰寫一含有 Cookies 的網頁, 如下所示:(Cookies01.asp)

執行後會產生『型態不符合』的錯誤,如下圖:


  1. 怎會如此呢?原因如下: Application物件及Session物件其傳回值為empty而 request.cookies卻是傳回 "" (空字串),empty可與數 值作運算,"" 卻不可以,解決此一問可加入一判斷式, 如下所示:
if var="" then var=empty
' 如果var="",則將var設定成empty


修改後還是有錯誤,錯誤為『已將HTTP標題寫入用戶端瀏覽器。 對任何HTTP的標題所做的修改必須要在寫入頁內容之前』。

實例展示


  1. 原因 為瀏覽器與伺服端交換 Cookies資料的時機需在伺服器尚未下載 資料給瀏覽器之前就進行交換,否則會出現錯誤,解決方法為用 緩衝區來裝下載的資料,完整程式如下所示:

  1. 現在我們來檢驗一下:以IE 為例,建立在瀏覽器中的 Cookies 物件將會放置在『\WINDOWS\Temporary Internet Files』目錄中,我們先將目錄中的所有資料檔案清除乾淨:

接著啟動瀏覽器,開始瀏覽 cookies02.asp ,此時我們將會發現在『\WINDOWS\Temporary Internet Files』目錄中多出了Cookies 的物件檔案,這證明了Cookies 物件是存在於瀏覽連線者的瀏覽器(客戶端)中無誤!

實例展示


Cookies 物件的生命週期起始於瀏覽器被執行時。終止於瀏覽器結束執行時。那如果我們要延長Cookies 物件的生命週期呢?若要延長Cookies 物件的生命週期我們可另用『Expires』屬性來設定Cookies的生命週期,Expires表失效 ,如下所示:

response.cookies("yourID")="cookies"
response.cookies("yourID").expires="2000/12/31/"
  經過expires設定後,yourID之使用期限為2000/12/31。

 

ASP 教學文件
WEB與ASP
ASP網頁概論
ASP內建元件與物件



 

本網頁內容由昱得資訊工作室楊宗誌(小誌 )製作(C) Copyright Valor-Studio since in 1993
非經正式書面同意,不得將全部或部分內容,以任何方式轉載於其他網站或用於任何商業行為