域名,Cookie是什么?有什么用處?Cookie 和session的區別?Cookie的有效期

1.背景介紹

網站為什么要有域名?

①.什么是IP地址

我們知道,在Internet上有千百萬臺主機,為了區分這些主機,人們給每臺主機都分配了一個專門的地址,稱為IP地址。 通過IP地址就可以訪問到每一臺主機。我們的每個虛擬主機用戶,都分配一個永久的IP地址。

②.什么是域名

雖然可以通過IP地址來訪問每一臺主機,但是要記住那么多枯糙的數字串顯然是非常困難的,為此,Internet提供了 域名(Domain Name)。域名是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱,用于在數據傳輸時標 識計算機的電子方位(有時也指地理位置,地理上的域名,指代有行政自主權的一個地方區域)。例如“IT修真院”主機 的域名就是“jnshu.com”。

什么是cookie

Cookie,有時也用其復數形式 Cookies,指某些網站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端 上的數據(通常經過加密)。定義于 RFC2109 和 2965 中的都已廢棄,最新取代的規范是 RFC6265[1] 。(可以 叫做瀏覽器緩存)

什么是session

Session:在計算機中,尤其是在網絡應用中,稱為“會話控制”。Session 對象存儲特定用戶會話所需的屬性及配置信息。

2.知識剖析

域名的用處

①終端必備——用域名建站

域名可以用來建站,從而實現價值最大化。但凡想要在互聯網上 大展拳腳的企業,都需要有一個域名來為自己開路。 域名是網站的門面,是用戶訪問平臺的重要途徑,是一個流量入口,同時也是企業立足于互聯 網的根本,對其項目開發及運營具有重要作用。

②宣傳之需——借域名提升品牌形象

域名之所以備受終端喜愛,還有一個重要的原因是能夠幫助企業進行廣告宣傳,促進品 牌推廣,從而獲取更多的流量。再土豪的企業,也沒法天天燒錢做廣告,但是有一個契合品牌的好域名就不一樣了,它 能夠剩下一筆廣告費,有助于提升品牌形象。

Cookie的用處

①.保存用戶的登陸狀態,例如上例中的,用戶進行登陸,成功登陸后,服務器生成特定的cookie返回給客戶端,客戶端下次訪 問該域名下的任何頁面,將該cookie的信息發送給服務器,服務器經過檢驗,來判斷用戶是否登陸。

②.記錄用戶的行為,例如,京東商場左下角有一個最近訪問的產品記錄信息,當當網上有你最近瀏覽過的書籍信息,都是根據用戶 訪問頁面,記錄到cookie的信息來制作的。

③.電商購物車的處理,因為在不同頁面,點擊添加到購物車,這個信息也是記到了cookie里面。結賬的時候統一提交

④.定制頁面。如果網站提供了換膚的功能,我們這個時候也是將他記錄到cookie里面,以便下次訪問還是保持原來的風格頁面。

cookie和session的的區別

①.cookie存于客戶端,只能保存字符串對象,不能保存對象類型 需要客戶端瀏覽器的支持:客戶端可以不支持,瀏覽器用戶可以禁用Cookie;

session存于服務器端。狀態信息保存在服務器端。這意味著安全性更高 通過類似與Hashtable的數據結構來保存 能支持任何類型的對象(session中可含有多個對象)

cookie的有效期

默認情況下,cookie是一個會話級別的,用戶退出瀏覽器后被刪除

cookie的有效期是可以自行設置的,版權歸作者所有。 如果設置了過期時間,瀏覽器就會把 cookie 保存到硬盤上,關閉后再次打開瀏覽器, 這些 cookie 依然有效直到超過設定的過期時間。

3.常見問題

cookie是不安全的,因為他可以被用戶篡改。同時由于cookie存儲大量的信息,一旦這些信息泄露出來,也是危害很大的,所以,我們要慎用cookie

5.編碼實戰

瀏覽器中如何查看和禁用cookie。

js中cookie操作:

js中cookie操作

//保存表單中的信息到Cookie中

function saveCookie(){

var userName = document.getElementById("username").value;

var password = document.getElementById("password").value;

console.log(userName+password);

var date = new Date();

date.setDate(date.getDate()+1);

// date.setTime(date.getTime()+5000);

//將cookie保存5秒鐘

setCookie("userName",userName,date.toGMTString(),"","","");

setCookie("password",password,date.toGMTString(),"","","");

showCookie()

}

//設置Cookie

/*

在cookie的名或值中不能使用分號(;)、逗號(,)、等號(=)以及空格。在cookie的名中做到這點很容易,但要保存的值是不確定的。如何

來存儲這些值呢?方法是用encodeURI()函數進行編碼,它能將一些特殊符號使用十六進制表示,例如空格將會編碼為“20%”,從而可以存儲于

cookie值中,而且使用此種方案還可以避免中文亂碼的出現。在獲取cookie時可以通過decodeURI()方法對cookie進行解碼。

Cookie的保存格式為:"name=value; expires=evalue; path=pvalue;"

每個屬性之間通過:'分號+空格'(; )隔開;

參數值的意思:

name:表示要存入對象的名稱,唯一必須設置(通常使用:user@domain格式命名,user為本地用戶,domain為所訪問網站的域名)。value:表示要存入得值。

expires:該對象的有效時間(可選)(默認為當前瀏覽器會話有用,關閉瀏覽器就消失);

path:指定該Cookie作用范圍(可選)(即:在那些網頁上可用);

domain:設置web服務器的Cookie共享域(可選)(如:test*.com)表示域名為test*.com的服務器共享該Cookie

secure:設置Cookie的傳輸過程是否加密(可選)(一般為SSH加密)

*/

function setCookie(name,value,expires,path,domain,secure){

document.cookie=name+"="+encodeURI(value)+

((expires) ? "; expires=" + expires : "")+

((path) ? "; path=" + path : "")+

((domain) ? "; domain=" + domain : "")+

((secure) ? "; secure=" + secure : "");

}

/**

獲取瀏覽器中的Cookie時,只能夠一次獲取所有的cookie值,而不能指定cookie名稱來獲得指定的值,這正是處理cookie值最麻 煩的一部分。

用戶必須自己分析這個字符串,來獲取指定的cookie值

**/

//獲取瀏覽器中的Cookie

function getCookie(cName){

var cookieString = decodeURI(document.cookie);

var cookieArray = cookieString.split("; ");

console.log(cookieArray.length);

for(var i = 0; i < cookieArray.length; i++){

var cookieNum = cookieArray[i].split("=");

console.log(cookieNum.toString());

var cookieName = cookieNum[0];

var cookieValue = cookieNum[1];

if(cookieName == cName){

return cookieValue;

}

}

return false;

}

function showCookie(){

var txt = ?document.getElementById("txt_showCookie");

txt.value = "用戶名:"+getCookie("userName")+"\n密碼:"+getCookie("password");

}

//刪除Cookie就是簡單的將cookie的expires屬性設置為一個過去的時間即可。

function deleteCookie(){

var date = new Date();

date.setTime(date.getTime()-1000);

setCookie("userName",password,date.toGMTString(),"","","");

setCookie("password",password,date.toGMTString(),"","","");

showCookie();

}




cookie顯示區域

6.擴展思考

什么是域名解析服務(DNS)?

人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的, 它們之間的轉換工作稱為域名解析,域名解析需要由專門的域名解析服務器來完成, 整個過程是自動進行的。

7.參考文獻

參考一:cookie和session的區別和各自的應用場景

8.更多討論

cookie與本地存儲之間的區別

①. cookie在瀏覽器和服務器間來回傳遞。而sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存。

②. cookie數據還有路徑(path)的概念,可以限制cookie只屬于某個路徑下。存儲大小限制也不同,cookie數據不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合保存很小的數據,如會話標識。sessionStorage和localStorage 雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大。

③. 數據有效期不同,sessionStorage:僅在當前瀏覽器窗口關閉前有效,自然也就不可能持久保持;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,因此用作持久數據;cookie只在設置的cookie過期時間之前一直有效,即使窗口或瀏覽器關閉。

④. 作用域不同,sessionStorage不在不同的瀏覽器窗口中共享,即使是同一個頁面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知機制,可以將數據更新的通知發送給監聽者。Web Storage 的 api 接口使用更方便。

PPT鏈接:

視頻鏈接:


域名,Cookie,Cookie 和session的區別_騰訊視頻

今天的分享就到這里啦,歡迎大家點贊、轉發、留言、拍磚~

下期預告:return的用法,不見不散~

------------------------------------------------------------------------------------------------------------------------

技能樹.IT修真院

“我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫”。

這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧~

我的邀請碼:92249038,或者你可以直接點擊此鏈接:http://www.jnshu.com/login/1/92249038

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容