个人学习笔记——会话

  1. 服务器开启session
  2. 客户端通过浏览器访问服务器,服务器会判断请求头信息中是否包含session_id,如果包含则去session文件存储位置寻找对应的session文件,session文件不存在则创建;如果请求头中不包含session_id,则会自动创建session文件,同时将session_id返回到服务器中,如果本地开启cookie则session_id保存在cookie中
  3. cookie可以设置生存周期,默认是保存在内存中,关闭浏览器销毁cookie,重新打开浏览器访问服务器此时session_id不存在,就会重新创建session文件和session_id;可以设置cookie的生命周期,如果关闭浏览器时扔在生命周期内,则会将session_id保存到指定的cookie存放位置,下次打开浏览器会扫描是否有对应的cookie,如果有对应cookie,向指向服务器发送请求就可以得到session,(即自动登录机制的实现方式)
  4. session_id是计算机自动生成的一个不易破解没有规律的唯一值,用于做唯一标识;session文件存储于服务器端,服务器端可以配置session的生命周期,到期之后会自动删除失效;也可以程序控制删除,例如登录退出时unset(清空session文件内容)、destroy(删除session文件) 
    (本人是PHP菜鸟,只能用PHP函数)
  5. session文件内容类似hashMap的散列形式,里面存储写入的数据
  6. 可以在cookie中写入一些值,setcookie(key, value, time, path, domain) 具体含义百度既可
  7. 会话机制针对http协议的无状态产生(看资料都是这样说,错了勿喷  本人小白)
  8. 客户端禁用cookie,可以将session_id绑定到url传递,服务器作为url参数获取,这是一个常见问题
  9. 由于session_id返回给客户端,存储在cookie中,可以被查看到,因此比如简单的做法:复制session_id模拟请求服务器,这就是所谓的session劫持,因此,通常会说cookie是不安全的

PS: 只是本人的学习笔记,如果有童鞋看到了可以起到帮助最好,如果有错误希望勿喷,只是粗浅的理解  本人PHP小菜鸟一枚  勿怪

时间: 2025-01-02 18:18:48

个人学习笔记——会话的相关文章

java学习笔记—会话(24)

1 使用Cookie实现显示用户的上次访问时间 public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { // 页面输出 response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"

php学习笔记-会话控制简单介绍session和cookie

session_stater();会话控制HTTP协议 在tcp协议基础上HTTP 协议称无状态协议SESSION的特点: 1存储在服务器: 2每个使用者都会生成一个session: 3有默认的过期时间大概是15分钟左右: 4session可以存储任意类型的数据: COOKIE的特点: 1存储在客户端: 2每个使用者都会生成一个cookie: 3默认没有过期时间的但你可以自己设置过期时间: 4只能存储字符串SESSION :安全 但对服务器要求太高:COOKIE:灵活 不安全session的使用

LoadRunner学习笔记--未经排版

LoadRunner学习笔记 并发用户数量: 与服务器进行交互的在线用户数量 请求响应时间 从客户端发送请求到得到整个响应的时间 一般包括网络响应时间+server的响应时间 事务相应时间 完成这个事务所用的时间 是性能测试中重点关注的指标 吞吐率 单位时间在网络上传输的数据量(吞吐量:网络上传输的数据总量) 指从server返回客户端的 是衡量网络性能的主要指标 TPS 每秒钟系统能够处理事务的数量 点击率 每秒发送的HTTP请求的数量 点击率越大对server的压力也就越大 资源利用率 对不

PowerShell 学习笔记5

可重用的远程管理会话: TCP Joke: ICM进行的会话在结束之后,会话在目标计算机上进行的会话就全部销毁了. 建立Session与查看Session $Session = New-PSSession –computerName dc Get-PSSession icm –session $sessions {$var =2} 这个$Session可以被重用(Powershell V3) 测试脚本执行时间: Measure-Command { scriptblock} 重用Session的脚

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

RFC学习笔记 -- 5245 ICE & 3261 SIP

---------------------------------------------------------------------------- RFC list: 3550 (rtp/rtcp)  - 3711(srtp) - 5245 (ice) - 3261(sip) - 4575(sip-conference) - 4566(sdp) 5389 (stun) - 5766(turn) - 6455(websocket) - 6865(fec) - 2616(http) -----

Linux 程序设计学习笔记----进程管理与程序开发(下)

转载请注明出处:http://blog.csdn.net/suool/article/details/38419983,谢谢! 进程管理及其控制 创建进程 fork()函数 函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html 返回值:Upon successful completion, fork() shall return 0 to the child process and shall re

Linux 程序设计学习笔记----终端及串口编程基础之概念详解

转载请注明出处,谢谢! linux下的终端及串口的相关概念有: tty,控制台,虚拟终端,串口,console(控制台终端)详解 部分内容整理于网络. 终端/控制台 终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念. 1.终端 一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种. 控制台是另一种人机接口, 不通过终端与主机相连, 而是通过显示卡-显示器和键盘接口分别与主机相连, 这是人控制主机的第一人机接口.

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl