Skip to content

Web术语

Cookie是一种浏览器的缓存机制,在不同的域名下存储了不同的cookie,当发送请求的时候会将该域名下的cookie存储的信息一起发送到服务器之之中。下面是一张浏览器存储Cookie的截图:

image-20250429150744738

Cookie存储的一些元数据信息可以参考下表:

字段名是否必须示例值说明
Name=Value✅ 是login_user=TomatosCookie 的键值对内容,必须有,值是字符串
Path❌ 否/表示此 Cookie 对哪个路径有效,默认为当前路径
Domain❌ 否.example.com指定可以接收此 Cookie 的域名,默认是当前域
Expires❌ 否Wed, 01 May 2025 12:00:00 GMT设置 Cookie 的过期时间(绝对时间)
Max-Age❌ 否86400(单位:秒)设置 Cookie 的有效期(相对时间),优先于 Expires
Secure❌ 否无值(只要写上即可)表示此 Cookie 只会在 HTTPS 请求中发送
HttpOnly❌ 否无值表示此 Cookie 无法被 JavaScript 访问(如 document.cookie
SameSite❌ 否Strict / Lax / None控制跨站请求时是否携带 Cookie,用于防范 CSRF

**注:**Cookie存储在浏览器(客户端)之中

Session

Session 指的是维持客户端与服务端会话的一种机制。

常见的Session实现如下:

  1. 客户端浏览器发起登陆请求

  2. 登陆成功后,服务端会把用户信息保存在服务端,并返回一个唯一的 session 标识(标识并不唯一具体由服务器决定)给客户端浏览器。

  3. 客户端浏览器会把这个唯一的 session 标识保存在起来

  4. 再次访问 web 应用时,客户端浏览器会把这个唯一的 session 标识带上,这样服务端就能根据这个唯一session标识找到对应用户

**注:**Session可以通过 Cookie 实现,也可以通过别的手段实现

CSRF

跨站请求伪造(Cross-Site Request Forgery)

一个经典的CSRF例子如下:

  1. 用户A登录了银行相关网站,关闭了网站但是并没有退出用户

  2. 用户A访问了另一个钓鱼网站,其中有一个按钮伪装了一个段表单,表单指向你之前访问的银行相关网站

  3. 点击按钮后会携带你刚刚保存了cookie,拿到cookie后可以通过里面存储的session唯一标识成功访问你之前登录的银行相关网站进行敏感的高危操作。

Last updated:

Released under the MIT License.