(三)Session和Cookie讲解
目录
一、前备知识点
(1)静态网页
(2)动态网页
(3)无状态HTTP
二、Session和Cookie
三、Session
四、Cookie
(1)维持过程
(2)结构
正式开始说 Session和Cookie之前,有些基础知识需要知道,我们先来看一下:
一、前备知识点
(1)静态网页
比如,我们写了一段html代码,然后保存为一个html文件
该文件所在主机,具有服务器
那么其他人就可以通过访问服务器,来打开这个html写的网页。
这就叫,静态网页
静态网页有一个很大的缺陷:
比如,我们修改该网页时,只能再打开html代码,然后修改,很不灵活。
(2)动态网页
动态网页,则不同于此。
它用编程语言编写,可以动态解析URL,灵活呈现内容
除此之外,还有账号密码功能
就是这种账号密码功能,离不开Session和Cookie
(3)无状态HTTP
当我们进入部分网站,点击登陆
弹出账号密码界面,输入之后,可以自动返回界面
我们发现下一次我们再登陆时,不用再登陆而是自动保存了
该的界面是原来我们网站的界面,它没有消失
我们不要想当然的认为,这是正常的
正常来说,HTTP是无记忆的,
即,服务器只负责处理响应和请求,不负责保存历史。
这,就叫无状态HTTP
而为了,保存HTTP的连接状态,让我们能够返回之前的界面,新技术出现了,即:Session和Cookie
二、Session和Cookie
Session放在服务器端,用来保存用户信息。
Cookie放在客户端,即浏览器端,当用户注册后,会获得凭证,客户端再次访问网页时,服务器通过识别Cookie,判断是哪个用户在访问。
三、Session
Session,即会话
在web中,Session对象储存用户信息
这样,在用户跳转不同程序时,其不会丢失
四、Cookie
关于,Cookie我们知道它相当于凭证,网站为鉴别用户身份,存储用户身上的数据
(1)维持过程
客户第一次登陆网站
网站返回一个set-cookie字段给客户,用以标记客户
客户端浏览器自动保存cookie
当客户下一次登陆cookie时,将保存的cookie提交给网页
服务器根据cookie中信息查找对应session,判断用户身份
若有效则可以查看网页内容
(2)结构
以csdn网站为例:
依次点击:检查 - application - storage - cookies
其中:
Name(名称):Cookie 的名称,是一个唯一的标识符。
Value(值):与 Cookie 名称关联的值。
Domain(域名):Cookie 所属的域名。
Path(路径):指定 Cookie 的有效路径。只有在该路径及其子路径下,Cookie 才会被发送到服务器。
Expires / Max-Age(过期时间)
-
Expires:指定 Cookie 的过期时间(具体日期和时间)。
-
Max-Age:指定 Cookie 的有效期(以秒为单位)。
-
注意:如果未设置过期时间,Cookie 将成为会话 Cookie,在浏览器关闭时自动删除。
Size(大小):Cookie 的大小(以字节为单位)。
HttpOnly:如果启用,JavaScript 无法通过 document.cookie
访问该 Cookie,只能由服务器读取。
Secure:如果启用,Cookie 只能通过 HTTPS 协议传输,确保安全性。
SameSite:控制 Cookie 是否在跨站请求中发送,用于防止跨站请求伪造(CSRF)攻击。
可选值:Strict
:仅在同站点请求中发送。Lax
:在导航到目标站点时发送(例如点击链接)。None
:允许跨站发送(需要与 Secure
一起使用)。
Partitioned(分区):用于跨站场景下的 Cookie 分区,确保 Cookie 仅在特定上下文中使用。
本章简单介绍了Session和Cookie概念,对以后学习爬虫具有一定辅助作用。