摘要:機(jī)制正統(tǒng)的分發(fā)是通過(guò)協(xié)議實(shí)現(xiàn)的服務(wù)器通過(guò)在的響應(yīng)頭上加上一行特殊的指示以提示瀏覽器按照相應(yīng)的。而的使用時(shí)瀏覽器按照一定的原則自動(dòng)發(fā)送給后臺(tái)服務(wù)器的。但是是可以被人為的禁止所以必須有其他的機(jī)制可以允許服務(wù)器想瀏覽器傳回。
cookie和session的定義
cookie:
當(dāng)你第一次訪問(wèn)某個(gè)網(wǎng)站的時(shí)候 web服務(wù)器會(huì)想你發(fā)送一小堆數(shù)據(jù)(cookie) 當(dāng)你第二次訪問(wèn)這個(gè)網(wǎng)站的時(shí)候 web服務(wù)器就會(huì)通過(guò)cookie來(lái)查看你的身份 并把特定的內(nèi)容發(fā)給你 這樣就提供個(gè)人化的服務(wù)網(wǎng)站。
cookie機(jī)制:正統(tǒng)的cookie分發(fā)是通過(guò)http協(xié)議實(shí)現(xiàn)的 服務(wù)器通過(guò)在http的響應(yīng)頭上加上一行特殊的指示以提示瀏覽器按照相應(yīng)的cookie 。同時(shí)js等也可以生成cookie。而cookie的使用時(shí)瀏覽器按照一定的原則自動(dòng)發(fā)送給后臺(tái)服務(wù)器的。
如果某個(gè)cookie所聲明的作用范圍大于等于請(qǐng)求的資源所在的位置 則把該cookie附在這次http請(qǐng)求頭上并發(fā)送給服務(wù)器。
cookie的內(nèi)容主要包括:key value 過(guò)期時(shí)間 路徑和域 其中路徑和域就構(gòu)成了cookie的作用范圍
若不設(shè)置過(guò)期時(shí)間 cookie的默認(rèn)過(guò)期時(shí)間是會(huì)話關(guān)閉 這類cookie就稱為會(huì)話cookie 存儲(chǔ)在內(nèi)存中
設(shè)置了過(guò)期時(shí)間 存儲(chǔ)在硬盤(pán)上
session:
服務(wù)器端通常利用散列表來(lái)保存session的信息 key就是sessionid value就是session的值
服務(wù)器先檢查這個(gè)客戶端的請(qǐng)求里邊是否已經(jīng)包含了sessionid 如果已經(jīng)包含了測(cè)出來(lái)的sessionid 服務(wù)器就按照把session檢索出來(lái)使用 如果沒(méi)有包含sessionid 則為客戶端創(chuàng)建一個(gè)sessionid 并且在服務(wù)器的散列表中生成一個(gè)與sessionid對(duì)應(yīng)的session值
sessionid的值就是通過(guò)cookie來(lái)保存的。但是cookie是可以被人為的禁止 所以必須有其他的機(jī)制可以允許服務(wù)器想瀏覽器傳回sessionid。
1、表單隱藏字段 在表單中添加一個(gè)隱藏的input 服務(wù)器會(huì)自動(dòng)修改客戶端表單的值,以便在表單提交時(shí)就可以把sessionid傳回服務(wù)器
1、cookie數(shù)據(jù)是存放在客戶端上邊的 session是存放在服務(wù)器數(shù)據(jù)上邊的
2、cookie是不安全的 被人可以通過(guò)獲得你本地的cookie 進(jìn)而使用的這個(gè)cookie假裝你進(jìn)行網(wǎng)站的訪問(wèn)
3、單個(gè)cookie保存的數(shù)據(jù)不會(huì)超過(guò)4k 很多瀏覽器限制一個(gè)站點(diǎn)最多保存20個(gè)cookie
4、所以個(gè)人重要的信息(登陸信息)要存放在session中 其他信息可以存放在cookie中
var CookieUtil = { // 設(shè)置cookie set : function (name, value, expires, domain, path, secure) { var cookieText = ""; cookieText += encodeURIComponent(name) + "=" + encodeURIComponent(value); if (expires instanceof Date) { cookieText += "; expires=" + expires.toGMTString(); } if (path) { cookieText += "; path=" + path; } if (domain) { cookieText += "; domain=" + domain; } if (secure) { cookieText += "; secure"; } document.cookie = cookieText; }, // name=value; expires=expiration_time; path=domain_path; domain=domain_name; secure // 獲取cookie get : function (name) { var cookieName = encodeURIComponent(name) + "=", cookieStart = document.cookie.indexOf(cookieName), cookieValue = ""; if (cookieStart > -1) { var cookieEnd = document.cookie.indexOf (";", cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd)); } return cookieValue; }, // 刪除cookie unset : function (name, domain, path, secure) { this.set(name, "", Date(0), domain, path, secure); } }; // 測(cè)試 CookieUtil.set("name", "zhang"); var name = CookieUtil.get("name"); alert(name); // zhang CookieUtil.unset("name"); alert(CookieUtil.get("name")); // 空
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88619.html
摘要:首先先來(lái)一段總結(jié)用于本地?cái)?shù)據(jù)存儲(chǔ),出現(xiàn)在服務(wù)器和瀏覽器交互的響應(yīng)頭部和請(qǐng)求頭部中,受到單域名下的數(shù)量單個(gè)大小性能安全限制。子技術(shù)的出現(xiàn)緩解了單域名下的數(shù)量限制,關(guān)于子有一整套工具函數(shù)可以使用。 前言 本篇主要介紹Cookie技術(shù)的讀書(shū)總結(jié),但是我認(rèn)為邏輯上最好會(huì)和Web Storage技術(shù)放在一起進(jìn)行對(duì)比,因此后續(xù)會(huì)再總結(jié)一篇關(guān)于WEB存儲(chǔ)的姊妹總結(jié),敬請(qǐng)期待。 首先先來(lái)一段總結(jié):Co...
摘要:首先先來(lái)一段總結(jié)用于本地?cái)?shù)據(jù)存儲(chǔ),出現(xiàn)在服務(wù)器和瀏覽器交互的響應(yīng)頭部和請(qǐng)求頭部中,受到單域名下的數(shù)量單個(gè)大小性能安全限制。子技術(shù)的出現(xiàn)緩解了單域名下的數(shù)量限制,關(guān)于子有一整套工具函數(shù)可以使用。 前言 本篇主要介紹Cookie技術(shù)的讀書(shū)總結(jié),但是我認(rèn)為邏輯上最好會(huì)和Web Storage技術(shù)放在一起進(jìn)行對(duì)比,因此后續(xù)會(huì)再總結(jié)一篇關(guān)于WEB存儲(chǔ)的姊妹總結(jié),敬請(qǐng)期待。 首先先來(lái)一段總結(jié):Co...
摘要:保存中文上面我們的例子保存的是英文字符,下面我們來(lái)看下保存中文字符會(huì)怎么樣。出異常了中文屬于字符,英文數(shù)據(jù)字符,中文占個(gè)字符或者個(gè)字符,英文占個(gè)字符。如果為,則表示刪除該。的值規(guī)定為域名的隱私安全機(jī)制決定是不可跨域名的。 什么是會(huì)話技術(shù) 基本概念: 指用戶開(kāi)一個(gè)瀏覽器,訪問(wèn)一個(gè)網(wǎng)站,只要不關(guān)閉該瀏覽器,不管該用戶點(diǎn)擊多少個(gè)超鏈接,訪問(wèn)多少資源,直到用戶關(guān)閉瀏覽器,整個(gè)這個(gè)過(guò)程我們稱為一...
摘要:的屬性在瀏覽器的控制臺(tái)中,可以直接輸入來(lái)查看??梢栽跒g覽器的控制臺(tái)中看出哪些是類型的,下帶綠色對(duì)勾的即是,如圖只要是類型的在控制臺(tái)通過(guò)是獲取不到的,也不能進(jìn)行修改。當(dāng)會(huì)話過(guò)期或被放棄后,服務(wù)器將終止該會(huì)話。在中,用取代了。 本文由云+社區(qū)發(fā)表 在前端面試中,有一個(gè)必問(wèn)的問(wèn)題:請(qǐng)你談?wù)刢ookie和localStorage有什么區(qū)別?。?localStorage是H5中的一種瀏覽器本地存...
閱讀 1973·2021-11-19 09:40
閱讀 2169·2021-10-09 09:43
閱讀 3307·2021-09-06 15:00
閱讀 2826·2019-08-29 13:04
閱讀 2780·2019-08-26 11:53
閱讀 3546·2019-08-26 11:46
閱讀 2335·2019-08-26 11:38
閱讀 406·2019-08-26 11:27