1、session和cookie的存储
  session一般保存在服务端文件中,php.ini中有个配置项--session.save_path='';这个里面填写的路径,将会使session文件保存在该路径下。session文件的命名格式是"sess_[PHPSESSID的值]"。每一个文件,里面保存了一个会话的数据。
  cookie保存在客户端浏览器中。

  session_start()干了啥
  session_start()已经封装了发送cookie的操作(发送一个名称为PHPSESSID的cookie到浏览器)。那这样的话就涉及到http的一个原理:头部信息必须在内容之前发送才行。所以在使用session_start()之前,不能有输出内容。

2、cookie的工作原理
以用户登录为例:

1) 小明访问某一网站example.com的登录页面,此时通过浏览器发了一个http request请求,此时http header头域的cookie值可以是空的
2) xx.com服务器收到这个请求,并接受了小明提交过来的登录数据,判断用户名和密码都正确,这个时候服务器会“种下一个cookie”一般是将小明的用户名发送给客户端,通常是“Set-Cookie: session-id=12345;”这个字符串通过http response返回给客户端(浏览器)
3) 浏览器收到http response返回来的信息发现cookie了,然后将信息写入到浏览器的某个存储文件中去
4) 小明再访问xx.com的其他页面的时候,请求的http header中会带着这个cookie,
5) 服务器端程序会找cookie,并根据cookie取出客户端想要的信息并返回给客户端

3、session的调用机制
1)用户请求服务端程序login.php填写数据后提交
2)服务器收到提交的数据取得用户信息,将用户信息存入session,并将session_id通过cookie的形式发给客户端
3)客户端将session_id存入浏览器cookie文件
4)用户再次访问其他页面时,将有session_id的cookie通过header头发给服务端
5)服务端拿到session_id从session中取到用户信息并返回

4、session文件具体内容
  保存的是一些被序列化后的值
  name|s:8:"zhangsan";age|i:30;
1) 每一个session的值是以分好“;”分开的。
2)里面的读取规则:符号"|"前面表示session名称。符号后面是该session的具体信息。包括:数据类型,字符长度。

最新文章

  1. [LeetCode] Ternary Expression Parser 三元表达式解析器
  2. a new Poster
  3. [转]不优雅的方式处理 xlrd 中 int/float 的问题
  4. 【BZOJ】1854: [Scoi2010]游戏
  5. 卡尔曼滤波— Constant Velocity Model
  6. C# 中通过API实现的打印类
  7. == Rickard Oberg & TheServerSide
  8. C# Json数据反序列化为Dictionary并根据关键字获取指定值1
  9. Linux定时任务crontab每三秒执行一次shell
  10. vscode编写插件
  11. VS2010关于error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  12. 设置iPhone网页固定到桌面上的图标
  13. VMware workstation转到vsphere解决办法
  14. 2017-06-21(rmdir mv ln)
  15. ThreadLocal 原理和使用场景分析
  16. P4233 射命丸文的笔记
  17. 命令行批量修改IP并ping测试
  18. ASP.NET Core采用Web Deploy方式发布到 Windows Server 2012 IIS上
  19. SCIKIT-LEARN与GBDT使用案例
  20. IOS Xib使用——为控制器添加Xib文件

热门文章

  1. PL/SQL配置和连接远端数据库
  2. c语言复杂申明解释程序
  3. Django 测试开发2
  4. 反向代理Nginx
  5. SQL-W3School-函数:SQL MAX() 函数
  6. python使用redis实现协同控制的分布式锁
  7. java 利用poi 实现excel合并单元格后出现边框有的消失的解决方法
  8. [Vue warn]: Do not use built-in or reserved HTML elements as component id: content
  9. mysql创建数据库、表、写数据
  10. Python3之类和实例