當使用無狀態協議時,web瀏覽器和分配的服務器之間的通信通過HTTP協議進行,商業網站無法有效使用。網站需要在一個會話中輸入的信息存儲在後台,以便下一個會話發生,並在整個過程中重複這一過程,直到終止,需要一個適當的係統,無狀態協議不是答案。Cookies用於存儲進程期間在會話中輸入的信息。在整個過程中,這些存儲的數據是跨頁麵維護的。cookie還提供了更好的用戶體驗,因為輸入的數據不會丟失,無需一次又一次地重新輸入相同的數據。
理解cookie的工作原理
Cookies的功能是在瀏覽器和被訪問的服務器之間發送和接收定義好的數據。當使用網絡瀏覽器訪問特定服務器時,來自服務器的數據被發送到相應的網絡瀏覽器;這些數據被稱為cookie,它是由網絡瀏覽器接受和存儲接收到的cookie。當瀏覽器接受cookie時,它們被存儲在安裝瀏覽器的設備的硬盤驅動器上。現在,如果您訪問該網站的另一個頁麵,存儲的cookie將被發送到服務器;這就是服務器在訪問另一個頁麵之前記住輸入數據的方式。
本質上有5個重要的長度字段變量,使文本數據(在組成上很簡單)。
- 第一個可變長度字段是expire,用於存儲cookie的過期信息。退出瀏覽器時,如果cookie被刪除,過期字段為空。
- 第二個字段變量是一個域;在這個字段中,存儲站點的域名(或域名的名稱)。
- 第三個字段變量是路徑;記住在瀏覽器上存儲cookie的網頁信息或目錄的路徑是很重要的。
- 第四個字段變量更像是一個名為secure的值。如果將該值設置為secure,則隻有安全服務器才能檢索cookie,如果在該字段中未設置此類值,則允許任何服務器從瀏覽器檢索cookie。
- 存儲和接收這些cookie的表單是鍵表單對,名稱=值。
CGI腳本用於讀取和寫入存儲在瀏覽器中的cookie,因為cookie最初是為使用CGI腳本的程序開發的。它是在瀏覽器和服務器之間自動傳輸存儲的cookie數據的過程。您還可以通過使用document對象中的cookie屬性來部署JavaScript。
存儲cookie的方法
存儲cookie的步驟如下:
第一步:文檔。Cookie對象,創建一個字符串值將其分配給相應的對象。
步驟2:示例:文檔。cookie = " Attempt1 = input1;Attempt2 = input2; "過期=日期";
提到數據字段是可選的。如果在相應的字段中指定了特定的時間或數據,則cookie將在所述的時間或數據被刪除。該cookie被刪除後將無法再使用。
在定義cookie值時,不能包含分號、逗號或任何空格等字符值,這一點很重要。但是,如果您仍然使用它們,請確保您已經在JavaScript提供的escape()函數的幫助下對值進行了編碼。編碼後,可以將編碼後的數據存儲在cookie中。由於現在對值進行了編碼,您可以使用JavaScript提供的unescape函數在編碼之前讀取cookie的值。
下麵是應用上述函數的JavaScript代碼示例:
.
程序的輸出是:
嚐試次數:文本框;按鈕名稱為“設置嚐試次數”
如何閱讀cookie ?
讀取存儲的cookie非常簡單。cookie的值可以在文檔的幫助下訪問。Cookie對象作為對象,在對Cookie進行編碼時,也存儲了各自Cookie的數據。如果您需要訪問特定的cookie,您可以簡單地使用該文檔。各自Cookie的Cookie對象。我們知道,cookie的值存儲在瀏覽器中時,是以名稱=值對的形式存儲的。這些對組成了一個由文檔維護的列表。Cookie對象,name=value,其中field: name是提供給Cookie的名稱,field: value是Cookie的字符串值。
下麵是應用上述過程讀取cookie的JavaScript代碼示例:
程序的輸出是:
使用提供的按鈕調用該函數
按鈕顯示的名字,總嚐試點擊它將打開考試形式的cookies。
如何設置cookie的過期時間?
可以使用屬性:expire來操作存儲cookie的過期時間。expire屬性可用於設置cookie過期的特定時間或日期。
下麵是應用上述屬性的JavaScript代碼示例:
.
程序的輸出是:
使用提供的按鈕調用該函數
按鈕顯示名稱考試表格時間周期cookie,點擊它將打開設置的考試表格cookie值。
如何刪除Cookie?
要刪除存儲的cookie,隻需將expire屬性的值設置為過去的日期或時間。
下麵是應用上述屬性刪除cookie的JavaScript代碼示例:
.
程序的輸出是:
使用提供的按鈕調用該函數
按鈕顯示名稱考試表格時間周期cookie點擊它將打開設置值的考試表格cookie。關閉瀏覽器後cookie將過期。