摘要:機制正統的分發是通過協議實現的服務器通過在的響應頭上加上一行特殊的指示以提示瀏覽器按照相應的。而的使用時瀏覽器按照一定的原則自動發送給后臺服務器的。但是是可以被人為的禁止所以必須有其他的機制可以允許服務器想瀏覽器傳回。
cookie和session的定義
cookie:
當你第一次訪問某個網站的時候 web服務器會想你發送一小堆數據(cookie) 當你第二次訪問這個網站的時候 web服務器就會通過cookie來查看你的身份 并把特定的內容發給你 這樣就提供個人化的服務網站。
cookie機制:正統的cookie分發是通過http協議實現的 服務器通過在http的響應頭上加上一行特殊的指示以提示瀏覽器按照相應的cookie 。同時js等也可以生成cookie。而cookie的使用時瀏覽器按照一定的原則自動發送給后臺服務器的。
如果某個cookie所聲明的作用范圍大于等于請求的資源所在的位置 則把該cookie附在這次http請求頭上并發送給服務器。
cookie的內容主要包括:key value 過期時間 路徑和域 其中路徑和域就構成了cookie的作用范圍
若不設置過期時間 cookie的默認過期時間是會話關閉 這類cookie就稱為會話cookie 存儲在內存中
設置了過期時間 存儲在硬盤上
session:
服務器端通常利用散列表來保存session的信息 key就是sessionid value就是session的值
服務器先檢查這個客戶端的請求里邊是否已經包含了sessionid 如果已經包含了測出來的sessionid 服務器就按照把session檢索出來使用 如果沒有包含sessionid 則為客戶端創建一個sessionid 并且在服務器的散列表中生成一個與sessionid對應的session值
sessionid的值就是通過cookie來保存的。但是cookie是可以被人為的禁止 所以必須有其他的機制可以允許服務器想瀏覽器傳回sessionid。
1、表單隱藏字段 在表單中添加一個隱藏的input 服務器會自動修改客戶端表單的值,以便在表單提交時就可以把sessionid傳回服務器
1、cookie數據是存放在客戶端上邊的 session是存放在服務器數據上邊的
2、cookie是不安全的 被人可以通過獲得你本地的cookie 進而使用的這個cookie假裝你進行網站的訪問
3、單個cookie保存的數據不會超過4k 很多瀏覽器限制一個站點最多保存20個cookie
4、所以個人重要的信息(登陸信息)要存放在session中 其他信息可以存放在cookie中
var CookieUtil = { // 設置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); } }; // 測試 CookieUtil.set("name", "zhang"); var name = CookieUtil.get("name"); alert(name); // zhang CookieUtil.unset("name"); alert(CookieUtil.get("name")); // 空
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88619.html
摘要:首先先來一段總結用于本地數據存儲,出現在服務器和瀏覽器交互的響應頭部和請求頭部中,受到單域名下的數量單個大小性能安全限制。子技術的出現緩解了單域名下的數量限制,關于子有一整套工具函數可以使用。 前言 本篇主要介紹Cookie技術的讀書總結,但是我認為邏輯上最好會和Web Storage技術放在一起進行對比,因此后續會再總結一篇關于WEB存儲的姊妹總結,敬請期待。 首先先來一段總結:Co...
摘要:首先先來一段總結用于本地數據存儲,出現在服務器和瀏覽器交互的響應頭部和請求頭部中,受到單域名下的數量單個大小性能安全限制。子技術的出現緩解了單域名下的數量限制,關于子有一整套工具函數可以使用。 前言 本篇主要介紹Cookie技術的讀書總結,但是我認為邏輯上最好會和Web Storage技術放在一起進行對比,因此后續會再總結一篇關于WEB存儲的姊妹總結,敬請期待。 首先先來一段總結:Co...
摘要:保存中文上面我們的例子保存的是英文字符,下面我們來看下保存中文字符會怎么樣。出異常了中文屬于字符,英文數據字符,中文占個字符或者個字符,英文占個字符。如果為,則表示刪除該。的值規定為域名的隱私安全機制決定是不可跨域名的。 什么是會話技術 基本概念: 指用戶開一個瀏覽器,訪問一個網站,只要不關閉該瀏覽器,不管該用戶點擊多少個超鏈接,訪問多少資源,直到用戶關閉瀏覽器,整個這個過程我們稱為一...
摘要:的屬性在瀏覽器的控制臺中,可以直接輸入來查看。可以在瀏覽器的控制臺中看出哪些是類型的,下帶綠色對勾的即是,如圖只要是類型的在控制臺通過是獲取不到的,也不能進行修改。當會話過期或被放棄后,服務器將終止該會話。在中,用取代了。 本文由云+社區發表 在前端面試中,有一個必問的問題:請你談談cookie和localStorage有什么區別?。?localStorage是H5中的一種瀏覽器本地存...
閱讀 1924·2021-11-19 09:40
閱讀 2132·2021-10-09 09:43
閱讀 3294·2021-09-06 15:00
閱讀 2810·2019-08-29 13:04
閱讀 2766·2019-08-26 11:53
閱讀 3512·2019-08-26 11:46
閱讀 2320·2019-08-26 11:38
閱讀 390·2019-08-26 11:27