美文网首页
Session 和 Cookies

Session 和 Cookies

作者: 赵明嗯 | 来源:发表于2021-01-03 12:25 被阅读0次

Session 是会话的意思,会话是产生在服务端的,用来保存当前用户的会话信息,而 Cookies 是保存在客户端(浏览器),有了 Cookie 以后,客户端(浏览器)再次访问服务端的时候,会将这个 Cookie 带上,这时,服务端可以通过 Cookie 来识别本次请求到底是谁在访问。

可以简单理解为 Cookies 中保存了登录凭证,我们只要持有这个凭证,就可以在服务端保持一个登录状态。

在爬虫中,有时候遇到需要登录才能访问的网页,只需要在登录后获取了 Cookies ,在下次访问的时候将登录后获取到的 Cookies 放在请求头中,这时,服务端就会认为我们的爬虫是一个正常登录用户。

   在客户端(浏览器)第一次请求服务端的时候,服务端会返回一个请求头中带有 Set-Cookie 字段的响应给客户端(浏览器),用来标记是哪一个用户,客户端(浏览器)会把这个 Cookies 给保存起来。

当我们输入好用户名和密码时,客户端会将这个 Cookies 放在请求头一起发送给服务端,这时,服务端就知道是谁在进行登录操作,并且可以判断这个人输入的用户名和密码对不对,如果输入正确,则在服务端的 Session 记录一下这个人已经登录成功了,下次再请求的时候这个人就是登录状态了。

如果客户端传给服务端的 Cookies 是无效的,或者这个 Cookies 根本不是由这个服务端下发的,或者这个 Cookies 已经过期了,那么接下里的请求将不再能访问需要登录后才能访问的页面。

所以, Session 和 Cookies 之间是需要相互配合的,一个在服务端,一个在客户端。
那么有的网站为什么这次关闭了,下次打开的时候还是登录状态呢?

这就要说到 Cookie 的持久化了,其实也不能说是持久化,就是 Cookie 失效的时间设置的长一点,比如直接设置到 2099 年失效,这样,在浏览器关闭后,这个 Cookie 是会保存在我们的硬盘中的,下次打开浏览器,会再从我们的硬盘中将这个 Cookie 读取出来,用来维持用户的会话状态。

第二个问题产生了,服务端的会话也会无限的维持下去么,当然不会,这就要在 Cookie 和 Session 上做文章了, Cookie 中可以使用加密的方式将用户名记录下来,在下次将 Cookies 读取出来由请求发送到服务端后,服务端悄悄的自己创建一个用户已经登录的会话,这样我们在客户端看起来就好像这个登录会话是一直保持的。

相关文章

  • cookie和session

    Persistent cookies 和 Session cookies Session cookie : 保存在...

  • sql注入

    session 和cookies原理

  • Request

    基于get请求 基于post请求 代理(proxies参数) Cookies和Session Cookies Se...

  • Session和Cookies

    对于需要登录的情况,有些页面只有登录后才可以访问,而且登录之后可以连续访问很多次网站,但有时候过一段时间就会需要重...

  • Session和Cookies

    无状态HTTP HTTP 的无状态是指 HTTP 协议对事务处理是没有记忆能力的,也就是说服务器不知道客户端是什么...

  • cookies和session

    第一层楼 什么是 Cookie 和 Session ?初级程序员高频面试题。 什么是 Cookie HTTP Co...

  • Session 和 Cookies

    Session 是会话的意思,会话是产生在服务端的,用来保存当前用户的会话信息,而 Cookies 是保存在客户端...

  • HTML小知识

    对session和cookies的讲解 session: 可以指一种WEB的交互手段,也可以是Session对象,...

  • cookie 和 session

    cookies与session的区别: cookies是放在浏览器端(客户端);session放在服务器端,每个客...

  • 前端问题

    请你描述一下 cookies,sessionStorage 和 localStorage 的区别? session...

网友评论

      本文标题:Session 和 Cookies

      本文链接:https://www.haomeiwen.com/subject/cxuuoktx.html