[关闭]
@panhonhang 2020-02-17T16:14:17.000000Z 字数 988 阅读 474

cookie相关

面试


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过多会增加服务器的压力
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注