摘要:當(dāng)服務(wù)器向?yàn)g覽器發(fā)送頁面時(shí),在連接關(guān)閉后,服務(wù)端不會(huì)記錄用戶的信息。當(dāng)瀏覽器從服務(wù)器上請求頁面時(shí),屬于該頁面的會(huì)被添加到該請求中。指定是否只能通過協(xié)議訪問,一般的使用協(xié)議既可訪問,如果設(shè)置了沒有值,則只有當(dāng)使用協(xié)議連接時(shí)才可以被頁面訪問。
Cookie 是一些數(shù)據(jù), 存儲(chǔ)于你電腦上的文本文件中。
當(dāng) web 服務(wù)器向?yàn)g覽器發(fā)送 web 頁面時(shí),在連接關(guān)閉后,服務(wù)端不會(huì)記錄用戶的信息。
Cookie 的作用就是用于解決 "如何記錄客戶端的用戶信息":
當(dāng)用戶訪問 web 頁面時(shí),他的名字可以記錄在 cookie 中。
在用戶下一次訪問該頁面時(shí),可以在 cookie 中讀取用戶訪問記錄。
當(dāng)瀏覽器從服務(wù)器上請求 web 頁面時(shí), 屬于該頁面的 cookie 會(huì)被添加到該請求中。服務(wù)端通過這種方式來獲取用戶的信息。
總的來說,Cookie是保存在本地的一個(gè)字符串?dāng)?shù)據(jù),瀏覽器每次訪問服務(wù)器就會(huì)把對應(yīng)頁面的Cookie發(fā)送給服務(wù)器,這樣服務(wù)器就能知道你是誰。
查看Cookie的方式:開發(fā)者工具(F12) -> Application -> 左側(cè)Storage分組下的Cookies
Cookie的特點(diǎn)以name=value的方式儲(chǔ)存(名/值對),并且是明文的
默認(rèn)情況下,cookie的有效期間是當(dāng)前會(huì)話(需要把整個(gè)瀏覽器都關(guān)閉會(huì)話就結(jié)束)
不可以跨瀏覽器(在IE中保存的cookie, 不可以在火狐中使用)
不可以跨域(跨域名)
每個(gè)網(wǎng)頁中存儲(chǔ)cookie的個(gè)數(shù)(最多50)和每個(gè)網(wǎng)站中存儲(chǔ)cookie的個(gè)數(shù)都有限制(200)
有大小限制(4KB左右)
Cookie的過期時(shí)間和數(shù)量瀏覽器 | 大小(Byte 字節(jié)) | 數(shù)量(每個(gè)域名) |
---|---|---|
IE6.0 | 4095 | 20 |
IE7.0/8.0 | 4095 | 50 |
Opera | 4096 | 30 |
Fire Fox | 4097 | 50 |
Safari | 4097 | 無限制 |
Chrome | 4097 | 53 |
操作Cookie 設(shè)置Cookie:在進(jìn)行頁面cookie操作的時(shí)候,應(yīng)該盡量保證cookie個(gè)數(shù)小于50個(gè)(除非兼容IE6),總大小 小于4KB
document.cookie = "username="Evgni0n"";設(shè)置過期時(shí)間:
在值的后面添加一個(gè)expires字段,并且放一個(gè)GMT時(shí)間的值(js中放一個(gè)date對象就是GMT)。
var date = new Date(); date.setDate( date.getDate() + 7 ); // 7天過期 document.cookie = "username="Evgni0n"; expires=" + date + ";";
刪除Cookie:在設(shè)置Cookie的時(shí)候一次性只能設(shè)置一個(gè)Cookie,不能批量設(shè)置,如:document.cookie = "username="Evgni0n"&age=18";這樣設(shè)置的話,Name字段仍是username,而Value字段則會(huì)變成"Evgni0n"&age=18
沒有提供方法刪除Cookie,但是Cookie過期就會(huì)被刪除,所以只要設(shè)置一個(gè)過去的時(shí)間Cookie就自動(dòng)會(huì)被刪除。
var date = new Date(); date.setDate( date.getDate() - 1 ); // 給一個(gè)過去的時(shí)間 document.cookie = "username="Evgni0n"; expires=" + date + ";";Cookie有4個(gè)屬性
expires: 生存周期
path: 一個(gè)路徑
domain: 子域
secure: 安全性
expires默認(rèn)情況下,回話結(jié)束就會(huì)刪除Cookie,但是給這個(gè)屬性設(shè)置了一個(gè)時(shí)間(GMT格式)之后就會(huì)等到這個(gè)時(shí)間過期才刪除Cookie,如document.cookie = "username="Evgni0n"; expires=" + date + ";"。
path默認(rèn)情況下,在同一個(gè)目錄下文件可以調(diào)用;
http://www.evgni0n.com/page/1.html 設(shè)置的Cookie可以被 http://www.evgni0n.com/page/2.html 調(diào)用.但不能被 http://hanj.com/article/1.html 目錄下的文件調(diào)用;
一般設(shè)為“/”,以表示同一個(gè)站點(diǎn)的所有頁面都可以訪問這個(gè)Cookie。
domain指定在該子域下才可以訪問Cookie,例如要讓Cookie在a.test.com下可以訪問,但在b.test.com下不能訪問,則可將domain設(shè)置成a.test.com。
例如設(shè)成 ".evgni0n.com" 則在 .evgni0n.com 下的所有服務(wù)器下的文件都可以調(diào)用Cookie。
secure指定Cookie是否只能通過https協(xié)議訪問,一般的Cookie使用HTTP協(xié)議既可訪問,如果設(shè)置了Secure(沒有值),則只有當(dāng)使用https協(xié)議連接時(shí)Cookie才可以被頁面訪問。
如:document.cookie = "username="Evgni0n"; expires=" + date + ";secure;"
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/87223.html
這篇文章最初發(fā)表在我自己搭建的站點(diǎn)js-cookie庫源碼學(xué)習(xí) 背景 最近在做項(xiàng)目的時(shí)候,前端登錄功能要做一個(gè)記住密碼的功能。但開發(fā)用的框架中沒有實(shí)現(xiàn)這個(gè)功能,所以我就想自己實(shí)現(xiàn)這個(gè)功能。實(shí)現(xiàn)起來其實(shí)很簡單,就是每次用戶在登錄頁面點(diǎn)擊登錄時(shí),把用戶輸入的用戶名和密碼保存到cookie中就可以了,當(dāng)用戶再登錄時(shí),再從cookie中獲取用戶名和密碼填充到表單中就可以了。當(dāng)然,也可以選擇保存在local...
摘要:優(yōu)缺點(diǎn)優(yōu)點(diǎn)只在中存放不敏感數(shù)據(jù),即使被盜也不會(huì)有重大損失。控制的生命期,使之不會(huì)永遠(yuǎn)有效。極高的擴(kuò)展性和可用性,使用簡單,操作方法方便缺點(diǎn)數(shù)量和長度的限制。每個(gè)長度不能超過,否則會(huì)被截掉。設(shè)置一般主要設(shè)置名字和值有效期路徑域名是否安全傳輸。 前端學(xué)習(xí):教程&開發(fā)模塊化/規(guī)范化/工程化/優(yōu)化&工具/調(diào)試&值得關(guān)注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:cookie J...
摘要:如我當(dāng)前打開的網(wǎng)址為,在控制臺(tái)中我們執(zhí)行了下面代碼查看瀏覽器面板如下圖所示,確實(shí)設(shè)置成功了,而且屬性選項(xiàng)都用了默認(rèn)值。 咱們不搞一開始就一大堆理論知識(shí)介紹,怕把人講懵了...... 咱們換一個(gè)思維方式——從現(xiàn)象看本質(zhì),先說說我們看到了什么,再從看到的現(xiàn)象中提出問題,最后深入尋找答案。 我們看到的 cookie 我自己創(chuàng)建了一個(gè)網(wǎng)站,網(wǎng)址為http://ppsc.sankuai.com。...
摘要:快速上手先說區(qū)別數(shù)據(jù)大小不能超過。可以在后端設(shè)置修改,數(shù)據(jù)僅在本地瀏覽器保存。數(shù)據(jù)存儲(chǔ)在瀏覽器僅在瀏覽器為關(guān)閉的狀態(tài),關(guān)閉窗口后數(shù)據(jù)就會(huì)銷毀。默認(rèn)情況下,屬于當(dāng)前頁面。 cookie、Sessionstorage、Localstorage快速上手 先說區(qū)別 cookie: 數(shù)據(jù)大小不能超過4KB。 不管是否有需求,cookie數(shù)據(jù)都會(huì)在HTTP請求中攜帶,在瀏覽器和服務(wù)器中來回傳遞,...
閱讀 3716·2021-11-23 09:51
閱讀 1378·2021-11-10 14:35
閱讀 4016·2021-09-22 15:01
閱讀 1289·2021-08-19 11:12
閱讀 386·2019-08-30 15:53
閱讀 1696·2019-08-29 13:04
閱讀 3435·2019-08-29 12:52
閱讀 3063·2019-08-23 16:14