網站中長用的技術術語,Cookie,簡單的來說就是使用者通過用戶端通路伺服器端的過程中,被伺服器端建立儲存在用戶端的一段Code,隻适用于web中。我仔細在我們以下我的硬碟,通常儲存在這個檔案下面C:\Documents and Settings\Administrator\Cookies,所有通路的web網站都會被記錄在裡面,除非我們手動删除了。通過下圖來看看Cookie的建立機制:
Cookie是利用了網頁代碼中的HTTP頭資訊進行傳遞的,浏覽器的每一次網頁請求,都可以伴随Cookie傳遞,例如,浏覽器的打開或重新整理網頁操作。伺服器将Cookie添加到網頁的HTTP頭資訊中,伴随網頁資料傳回到你的浏覽器,浏覽器會根據你電腦中的Cookie設定選擇是否儲存這些資料。如果浏覽器不允許Cookie儲存,則關掉浏覽器後,這些資料就消失。Cookie在電腦上儲存的時間是不一樣的,這些都是由伺服器的設定不同決定得。Cookie有一個Expires(有效期)屬性,這個屬性決定了Cookie的儲存時間,伺服器可以通過設定Expires字段的數值,來改變Cookie的儲存時間。如果不設定該屬性,那麼Cookie隻在浏覽網頁期間有效,關閉浏覽器,這些Cookie自動消失,絕大多數網站屬于這種情況。通常情況下,Cookie包含Server、Expires、Name、value這幾個字段,其中對伺服器有用的隻是Name和value字段,Expires等字段的内容僅僅是為了告訴浏覽器如何處理這些Cookies。注意,在實際傳遞過程中這個Cookie的值是經過了URLEncode方法的URL編碼操作的。
Cookie的生命周期就是剛提到的Expires這個值,通常我們在登入網站的時候會看到有一個選項讓我們選擇保持登入狀态1天、1個月、半年和1年,根據不同使用者需求選擇儲存登入狀态的時間,也就是Cookie儲存了使用者登入的資訊,下次使用者開啟浏覽器不用登入直接以之前的使用者身份進入并通路網站。
Cookie内容很多,作為一個專業的開發人員需要去深入學習并使用它,同樣測試也需要足夠的去了解它,在測試過程中Cookie是一個比較重要的測試點,特别是涉及到一些安全性方面的測試,Cookie在儲存使用者登入狀态的同時也給使用者帶來巨大的潛在風險,但目前解決Cookie風險的最好辦法就是不儲存Cookie資訊。特别是在一些涉及網上銀行、網上支付等方面,Cookie技術的使用将變得非常小心,這也給我們測試帶來了巨大地挑戰。
本文轉自一米一陽光部落格園部落格,原文連結: http://www.cnblogs.com/candle806/archive/2010/11/24/1886716.html ,如需轉載請自行聯系原作者