保存在服務器端,大小沒有限制,由後端進行設置。html
不要把session與sessionStorage搞混,他們並非一個東西
session是服務端設置的,保存在服務端
sessionStorage是webStorage中的一種,只保存在客戶端,不會與服務端進行通訊web
服務器會對每個客戶端的請求作一個惟一標識,當客戶端向服務端發送請求時,服務端會先進行一下判斷,是否有攜帶的sessionId,若是有,就進行搜索,是否有效,若是沒有sessionid,則建立一個新的sessionId後端
服務器能夠將sessionid的值保存到cookie中,使瀏覽器每次發出請求都會將Seesion的值一塊兒發送到服務器。(瀏覽器自動的,不須要設置),用戶能夠根據設置cookie的secure來關閉自動發送跨域
保存在客戶端的內存或硬盤中,大小限制在4k左右瀏覽器
cookie中會保存一系列的信息:安全
domain:服務器端 的主機名
path:cookie的做用域,
expires/max-age:cookie的有效期
httponly:是否是隻讀,設置只讀,則不能獲取cookie的值,由後端進行設置
secure:設置是否自動發送cookie,默認爲False,自動發送,爲ture表示不容許自動發送,也由後端進行設置
samesite:定義cookie如何跨域發送,爲谷歌新研發的一種安全機制,目的是防止CSRF跨站請求以及XSSI跨站腳本攻擊服務器
瀏覽器會根據請求的服務器地址以及客戶端cookier的設置,進行判斷,是否須要攜帶cookie,以及攜帶哪一個cookie。cookie
保存在瀏覽器,比cookie容量更大,最大爲5MB。只會在當前的網站中有效。session
localStorage:保存在瀏覽器端 ,不主動的清除,不會失效dom
sessionStroage:保存瀏覽器,瀏覽器關閉後,頁面失效。