爬虫基础(三)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概念,对以后学习爬虫具有一定辅助作用。

相关推荐
Jerry4 分钟前
Compose 从 View 系统迁移
前端
GIS之路24 分钟前
2025年 两院院士 增选有效候选人名单公布
前端
四岁半儿26 分钟前
vue,H5车牌弹框定制键盘包括新能源车牌
前端·vue.js
烛阴39 分钟前
告别繁琐的类型注解:TypeScript 类型推断完全指南
前端·javascript·typescript
gnip1 小时前
工程项目中.env 文件原理
前端·javascript
JefferyXZF1 小时前
Next.js Server Actions 详解: 无缝衔接前后端的革命性技术(八)
前端·全栈·next.js
ezreal_pan2 小时前
Kubernetes 负载均衡现象解析:为何同一批次请求集中于单个 Pod
运维·云原生·k8s·traefik
朱皮皮呀2 小时前
Spring Cloud——服务注册与服务发现原理与实现
运维·spring cloud·eureka·服务发现·php
xixingzhe22 小时前
多人同时导出 Excel 导致内存溢出
服务器·设计
吱吱企业安全通讯软件2 小时前
吱吱企业通讯软件保证内部通讯安全,搭建数字安全体系
大数据·网络·人工智能·安全·信息与通信·吱吱办公通讯