最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

细说session和cookie会话控制

来源:懂视网 责编:小采 时间:2020-11-27 19:59:51
文档

细说session和cookie会话控制

细说session和cookie会话控制:本篇文章讲述了session和cookie会话控制,大家对session和cookie会话控制不了解的话或者对session和cookie会话控制感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如se
推荐度:
导读细说session和cookie会话控制:本篇文章讲述了session和cookie会话控制,大家对session和cookie会话控制不了解的话或者对session和cookie会话控制感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如se

本篇文章讲述了session和cookie会话控制,大家对session和cookie会话控制不了解的话或者对session和cookie会话控制感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧

对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如setcookie,getcookie的方法,session就好像一个最熟悉的陌生人一样,在我们与后端开发者合作项目的时候会用到它,但是不理解它的本质,下面我们就来详细探讨下

cookie

存储位置:存储于客户端
作用:本域跨页面存储数据(我们似乎一般都用来username,password)

cookie一般包含如下图的信息:

这里写图片描述

传输:下面是一条http请求报文

这里写图片描述

在每次发送请求中,cookie都会随着http报文发向后台

cookie和session的关系

这里写图片描述

session

下面我以php语言为用例,讲解session

从上面可以看出session存储于服务器端,而且以文件的形式存储
session有好多特性,比如过期时间等,下面我们查看,打开php.ini文件(里面有php的诸多配置信息,我去除了n多注释)

这里写图片描述

下面我看看具体看看那个sessionID

这里写图片描述

可以看出,这也就与上面那个session.name = “PHPSESSID”不谋而合

我们已经清楚了前台浏览器是如何携带sessionID传输到后台,以及后台存储session文件的位置,那后台具体利用sessionID分析利用呢, 我们接着分析

为了分析机制,请看下面php代码

<?php
 session_start();
 header("Content-Type: text/html;charset=utf-8"); 
 if ($_SESSION['username'] != 'success') {
 /* /php/index.php为当前文件路径 */
 $string = <<< EOF
 <form action="/php/index.php" method="post">
 <input type="text" name="value">
 <input type="submit">
 </form>
EOF;
 echo $string;
 }
 if ($_SESSION['username'] == 'success') {
 echo "登录成功".PHP_EOL;
 }
 if ($_POST['value'] == 'ys') {
 $_SESSION['username'] = 'success';
 echo "登录成功".PHP_EOL;
 }
?>

执行了php文件,体验session过程

这里写图片描述

发现http的cookie头部中的sessionID和服务器session文件名一样
这样就能根据每次请求的session找到唯一的session文件,然后看看这个文件是怎么样的

username|S:7:"success";s|S:7:"success";ss|S:7:"success";

这是这个文件的内容,里面有s,ss,username,其中s和ss就是我之前测试的名字(可以忽略),也就是这样

username|S:7:"success";

然后每次后台就能根据sessionID确定唯一会话,设置诸如$_SESSION[‘username’]之类的加以判断,实现cookie之间的通信。

相关推荐:

php之session和cookie总结分享

php会话控制session、cookie介绍

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

细说session和cookie会话控制

细说session和cookie会话控制:本篇文章讲述了session和cookie会话控制,大家对session和cookie会话控制不了解的话或者对session和cookie会话控制感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如se
推荐度:
标签: cookie 管理 会话
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top