@panhonhang
2020-02-17T16:14:17.000000Z
字数 988
阅读 491
面试
cookie相关:cookie相关
缺点:
安全性:由于cookie在HTTP中是明文传递的,其中包含的数据都可以被他人访问,可能会被篡改、盗用。
大小限制:cookie的大小限制在4KB左右,若要做大量存储显然不是理想的选择。
增加流量:cookie每次请求都会被自动添加到Request Header中,无形中增加了流量。cookie信息越大,对服务器请求的时间也越长。
编码方法:
若 cookie 的名或值中包含分号、逗号和空格这三个特殊字符,那么它需要经过URL编码。
一般可以使用encodeURIComponent进行编码,它对应的解码函数是decodeURIComponent。
删除:
将expries设为一个过去的时间或将max-age设为0
修改:
document.cookie = "test1=newCookie; max-age=3600; secure"
服务器端设置:
Set-Cookie: name=value[; expires=GMTDate][; domain=domain][; path=path][; secure]
cookie的属性:
name、value、domain、Path、Expries/Max-age、httponly(即HTTP选项)、Secure 等
name:名字
value:值
domain:对指定域名有效
path:域名下的路径
Expries/Max-age:失效时间
secure:是 cookie 的安全标志,设置了以后就只有在使用SSL连接(如HTTPS请求)时才会发送到服务器,不设置都可以请求。
HTTPonly:httponly属性是用来限制客户端脚本对cookie的访问。将 cookie 设置成 httponly 可以减轻xss攻击的危害,防止cookie被窃取,以增强cookie的安全性。
说说Cookie和Session的区别?
1、Cookie和Session都是会话技术,Cookie是运行在客户端,Session是运行在服务器端。
2、Cookie有大小限制以及浏览器在存cookie的个数也有限制,Session是没有大小限制和服务器的内存大小有关。
3、Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击。
4、Session是保存在服务器端上会存在一段时间才会消失,如果session过多会增加服务器的压力