博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再析cookie和session
阅读量:7292 次
发布时间:2019-06-30

本文共 2036 字,大约阅读时间需要 6 分钟。


title: 再析cookie和session tags:

  • cookie
  • session
  • 同源
  • 单点 categories: 工作日志 date: 2017-11-23 14:15:04

背景

由于目前用到基于cookie做的单点登录产品有必要对于cookie和session机制加深理解

问题

Q:什么是Cookie?什么是Session?为什么要有cookie?

A:个人理解如下: 服务器需要对用户提供个性化行为 需要鉴别用户 需要获取用户的身份 由于http的无状态 那么必须要有一个手段通知给服务端

这个是笔者多年前在实习的时候对于cookie和session的粗浅认识

因此cookie和session的区别是什么?

session本质上服务端记住你身份的凭据 由于http协议大家知道cookie会被浏览器发送到服务器【哪些情况会发送?】 cookie可以用来记录你的身份信息【客户端】

当禁用了cookie会怎么样?

那么cookie什么情况会发送到服务器呢?

Q: cookie跨域和我们常说的跨域是同一回事么?浏览器的同源策略?

A:

最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同"。 为什么要有同源策呢?

  • 协议相同
  • 域名相同
  • 端口相同

RFC6265

For historical reasons, cookies contain a number of security and privacy infelicities. For example, a server can indicate that a given cookie is intended for "secure" connections, but the Secure attribute does not provide integrity in the presence of an active network attacker. Similarly, cookies for a given host are shared across all the ports on that host, even though the usual "same-origin policy" used by web browsers isolates content retrieved via different ports.

警惕出现多个tomcat部署在同一个ip下面导致jsessionid 互相冲突导致掉线

Q:Cookie 的属性

如果domain设置成.com 怎么样~?

Q:cookie 的安全性?

A:

  1. secure
  2. httpOnly
  3. 加密

Q:cookie的限制

一、浏览器允许每个域名所包含的 cookie 数:

Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 个 cookie(《Update to Internet Explorer’s Cookie Jar》)。

Firefox 每个域名 cookie 限制为 50 个。

Opera 每个域名 cookie 限制为 30 个。

Safari/WebKit 貌似没有 cookie 限制。但是如果 cookie 很多,则会使 header 大小超过服务器的处理的限制,会导致错误发生。

注:“每个域名 cookie 限制为 20 个”将不再正确!

二、当很多的 cookie 被设置,浏览器如何去响应。除 Safari(可以设置全部 cookie,不管数量多少),有两个方法:

最少最近使用(least recently used (LRU))的方法:当 Cookie 已达到限额,自动踢除最老的 Cookie ,以使给最新的 Cookie 一些空间。 Internet Explorer 和 Opera 使用此方法。

Firefox 很独特:虽然最后的设置的 Cookie 始终保留,但似乎随机决定哪些 cookie 被保留。似乎没有任何计划(建议:在 Firefox 中不要超过 Cookie 限制)。

三、不同浏览器间 cookie 总大小也不同:

Firefox 和 Safari 允许 cookie 多达 4097 个字节 , 包括名(name)、值(value)和等号。

Opera 允许 cookie 多达 4096 个字节 , 包括:名(name)、值(value)和等号。

Internet Explorer 允许 cookie 多达 4095 个字节 , 包括:名(name)、值(value)和等号。

注:多字节字符计算为两个字节。在所有浏览器中,任何 cookie 大小超过限制都被忽略,且永远不会被设置

转载地址:http://hqgjm.baihongyu.com/

你可能感兴趣的文章
12.4.1 压缩索引
查看>>
springmvc图片上传(兼容ie8以上,实时预览)
查看>>
联想G510安装win7系统
查看>>
@P0或@P1附近有语法错误
查看>>
rpm 与压缩解压缩
查看>>
CSS扩展技术-less
查看>>
组合数学的卡特兰数 TOJ 3551: Game of Connections
查看>>
易宝典文章——用ISA 2006标准版发布Exchange 2010的OWA系列之外网客户端
查看>>
SCCM 2012系列4 配置SCCM2012 Endpoint Protection上
查看>>
分享做老师的幸福
查看>>
动软发布微信营销服务系统,微信商城系统!
查看>>
艺术是什么?不懂很难泡到妞!
查看>>
Open-E DSS V7 应用系列之三 Web管理简介
查看>>
phpunit 单元测试案例--签到任务
查看>>
python与shell校验IP地址合法性
查看>>
大话测试之BT思维
查看>>
利用Traefik+Docker构建可弹性扩展的微服务或服务集群
查看>>
记忆碎片 - 2015.09.11
查看>>
Linux下磁盘IO读写性能测试脚本
查看>>
SFB 项目经验-28-设置-所有用户-OWA-时区-语言-跳过-时区设置)
查看>>