一、創建cookie
1、當用戶通過瀏覽器訪問一個頁面時,服務器可以在響應哪裡包含一個”Set-Cookie”頭。這個頭包含了一個”key=value”對的列表。key為cookie的名稱,value為cookie的值。
2、例如,下面的代碼片段創建一個名叫”myCookie”、值為”hello”的cookie:
try { document.cookie = "myCookie=hello" } catch (error) { console.log(error) }
3、在這個步驟中,cookie的生命周期始於它被創建的那一刻。
二、發送cookie
1、當用戶每次向服務器發送請求時,瀏覽器都會自動將與該域相關的所有cookie信息添加到請求中的”Cookie”頭中。這意味着在一個網站上創建的cookie,可以在該網站的每個頁面上使用。
2、例如,下面的代碼演示了如何使用cookie進行身份驗證:
try { document.cookie = "authToken=34215dfg3456djl89" } catch (error) { console.log(error) }
3、在這個步驟中,cookie的生命周期取決於它何時被發送,通常是用戶每一次請求頁面時。
三、修改cookie
1、要修改cookie,只需要在瀏覽器中創建一個同名的cookie即可。
2、例如,如果要將上例中的”myCookie”更改為”value”,則可以這樣寫:
try { document.cookie = "myCookie=value" } catch (error) { console.log(error) }
3、在這個步驟中,cookie的生命周期從修改時間開始。
四、刪除cookie
1、要刪除cookie,只需要在瀏覽器中創建一個同名的cookie,並將其過期時間設置為過去的某個時間即可。
2、例如,下面的代碼演示了如何刪除名為”myCookie”的cookie:
try { document.cookie = "myCookie=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;" } catch (error) { console.log(error) }
3、在這個步驟中,cookie的生命周期在它被刪除之後立即結束。
五、cookie的過期時間
1、為了控制cookie的生命周期,可以設置一個可選的過期時間。
2、例如,下面的代碼創建了一個名為”myCookie”的cookie,並將其過期時間設置為7天後:
try { let date = new Date() date.setTime(date.getTime() + (7 * 24 * 60 * 60 * 1000)) let expires = "expires="+ date.toUTCString() document.cookie = "myCookie=hello; "+ expires } catch (error) { console.log(error) }
3、在這個步驟中,cookie的生命周期從被創建的時間開始,到達過期時間後結束。
六、cookie的安全性
1、通過”Secure”屬性可以控制cookie的安全性,只有在加密連接(例如HTTPS)上才能發送這些cookie。
2、例如,下面的代碼創建了一個名為”authToken”的安全cookie:
try { document.cookie = "authToken=34215dfg3456djl89; Secure" } catch (error) { console.log(error) }
3、在這個步驟中,只有在加密連接上訪問網站時,才能在請求中發送名為”authToken”的cookie。
原創文章,作者:JUPM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/136337.html