前端面试题_4.大概描述下页面访问cookie的限制条件
cookie (储存在用户本地终端上的数据)
cookie 指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据。cookie 在网络系统中几乎无处不在,当我们浏览以前访问过的网站时,网页中可能会出现 :你好 XXX。
1. 跨域问题:
cookie允许Web开发者保留他们的用户的登录状态。但是当你的站点有一个以上的域名时就会出现问题了。在cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名。因此,如果在浏览器中对一个域名设置了一个cookie,这个cookie对于其它的域名将无效。
解决:
- 通过nginx反向代理
- jsonp方式请求
2. 设置了HTTP only:
如果在cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到cookie信息,这样能有效的防止XSS攻击。
补充:
1. cookie的作用:
- 可以在客户端上保存用户数据,起到简单的缓存和用户身份识别等作用。
- 保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端,客户端下次访问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登陆。
- 记录用户的行为。
2. cookie弊端:
- 增加流量消耗,每次请求都需要带上cookie信息。
- 安全性隐患,cookie使用明文传输。如果cookie被人拦截了,那人就可以取得所有的session信息。
- Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉
本文参考链接:https://blog.csdn.net/zhang070514/article/details/74018769