Session 认证机制

1.什么是 Cookie

- Cookie 是存储在用户浏览器中的一段不超过 4 KB 的字符串。它由一个名称(Name)、一个值(Value)和其它几个用于控制 Cookie 有效期、安全性、使用范围的可选属性组成。

- 不同域名下的 Cookie 各自独立,每当客户端发起请求时,会自动把当前域名下所有未过期的 Cookie 一同发送到服务器。

- Cookie的几大特性:

    ① 自动发送

    ② 域名独立

    ③ 过期时限

    ④ 4KB 限制

2. Cookie 在身份认证中的作用

- 客户端第一次请求服务器的时候,服务器通过响应头的形式,向客户端发送一个身份认证的 Cookie,客户端会自动将 Cookie 保存在浏览器中。随后,当客户端浏览器每次请求服务器的时候,浏览器会自动将身份认证相关的 Cookie,通过请求头的形式发送给服务器,服务器即可验明客户端的身份。

3. Cookie 不具有安全性

- 由于 Cookie 是存储在浏览器中的,而且浏览器也提供了读写 Cookie 的 API,因此 Cookie 很容易被伪造,不具有安全性。因此不建议服务器将重要的隐私数据,通过 Cookie 的形式发送给浏览器。

4. Session 的工作原理

- 登录成功后,将登录成功后的用户信息存储在服务器的内存中,同时生成对应的 Cookie 字符串。客户端再次发送请求时,通过请求头自动把当前域名下所有可用的 Cookie 发送给服务器。服务器根据请求头中携带的 Cookie,从内存中找到对应的用户信息。用户的身份认证成功后,服务器针对当前用户生成特定的响应内容。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容