保存在服务器端,大小没有限制,由后端进行设置。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:保存浏览器,浏览器关闭后,页面失效。