码迷,mamicode.com
首页 > 其他好文 > 详细

cookie和session

时间:2018-03-06 23:18:01      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:main   附加   安全   应用   识别   存在   http协议   gpo   session   

因为HTTP协议是无状态的,为了记录用户状态信息,需要采取一些措施。

session,会话,是一种服务端和客户端之间的状态关联。

服务端使用session探知分辨客户端信息。第一次创建session的时候,服务端会把session id发到客户端,客户端把这个id记录在本地cookie里,以后请求的时候带着这个session id。

(如果客户端禁用cookie,则可以使用url重写技术,在url后面附加上诸如sid=xxxx这样的参数,方便服务器识别用户)

所以session的实现需要客户端和服务端的配合。在服务端,服务器需要存储session id和对应的用户数据。

客户端需要从服务端获取session id,以后请求的时候带着这个发出。

综上所述,cookie是客观存在的,session是一个。

session的实现要依赖cookie。session的实现方式(后端存储,设置cookie等)有很多种方法

 

关于cookie的设置,是通过服务器返回的 Set-Cookie 字段来设置的,这个字段的形式如下:

Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]

可以看到,在这里能够设置失效日期,应用cookie的url,标志通过ssh,https生成等

之后客户端请求的时候,请求字段中包含的cookie如下:

Cookie: value

 

cookie的缺点有:给请求增加流量,存储在客户端,有安全性问题(除非https),大小限制在4kb等。

如果服务端向客户端返回了加密cookie,服务端能够验证这个cookie,那么就能提升cookie的安全性

 

cookie和session

标签:main   附加   安全   应用   识别   存在   http协议   gpo   session   

原文地址:https://www.cnblogs.com/geeklove01/p/8516807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!