SESSION与COOKIE

本文详细阐述了Session与Cookie的工作原理及过程,包括它们保存数据的方式、工作原理的区别与联系,并解释了Session_start()的启动时机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

session与cookie的工作原理及工作过程总结
本博客的所有文章只作为本人日常学习的总结,如有不足请指正。

  1. session与cookie保存数据的方式
    session与cookie一般用来存储用户的账号密码。笼统的来说,session是将用户信息保存在服务端,将session_id的口令存储于客户端,每次用户请求服务端时则携带口令。
    而cookie则将用户信息存储在客户端,每次用户发起http请求时,cookie被设置在http请求的头部一起被发送给服务器。

  2. session与 cookie的工作原理
    2.1、cookie工作原理
    当用户请求浏览器时,客户端则将用户的数据信息以cookie的形式保存在客户端。当浏览器请求服务器时,系统将cookie信息以及用户将要进行的操作以及操作参数等数据以http header的形式存储在http request 信息中,当服务器接收到request信息后,会将各个参数保存在超全局数组COOKIEcookierequest_COOKIE的值还未改变,所以如果将发送的cookie值和COOKIEcookie_COOKIE中的值还是之前设置的值,但如果此次更改执行结束后再查看,$_COOKIE中的值已经改变。

    2.2、 session工作原理
    第一次客户端向服务器发送http request信息后,服务器会检查是否有携带session_id信息,如果未携带则生成一个session_id信息并存放在超全局数组COOKIEsessionidsetcookiesessionidsessionid,便session_SESSION中, 然后通过携带的session_id 去 查找对应的session_id文件,程序执行结束后再将$_SESSION 保存到session_id文件中。

  3. session_start()的启动时机
    浏览器 => http request (cookie) => nginx =>php-fpm =>php =>php将对GET、POST、COOKIE信息进行解析,赋值到超全局数组中=> 解析 .php 脚本 => session_start() =>cookie中查询session_id => 通过这个session_id 读取相对应的session_id 文件(若session_id不存在,则设置并生成相对应的session_id 文件) => 创建并赋值给SESSION=>session=>_SESSION中的数据保存到session_id文件中

  4. session与cookie的区别联系
    二者都是用来存储用户的上下文信息的,session将信息存储在服务端,cookie将信息存储在客户端,session 相对要比cookie更加的安全。二者看似独立,但在session中,其工作依赖于cookie,session_id 从服务端到客户端的传递都是由系统自动调用cookie来完成的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值