美文网首页
会话控制

会话控制

作者: 博行天下 | 来源:发表于2017-03-31 21:46 被阅读0次

    1、http协议(1.0、1.1)
    客户端与服务器通信方式
    建立连接=发送请求=响应请求=关闭连接
    解析多图和解析a连接
    请求行(get、post、delete、put、head等等)、请求头、请求正文
    状态行、响应头、响应正文
    图解http协议
    状态码:
    200:响应ok
    302、307:重定向
    404:资源没有找到
    500:服务器内部错误
    http协议是无状态的(脸盲)

    登录163.com
    

    2、会话控制
    在同一个网站中,不同的界面之间跳转的时候,服务器端如何跟踪客户端的信息

    你带着牌子过来这种机制就叫做cookie。
    cookie就是用户在登录网站之后,网站会给用户的客户端写入一个cookie文件,里面写了有
    

    关这个用户的信息。那么下次用户在本网站中访问其他页面的时候,就会将cookie文件中的内容通过

    http协议带过来。
    3、cookie
    功能:
    通过setcookie函数,将用户信息写入到客户端,下次再访问服务器的时候,将

    cookie中的信息通过http请求头带过来,服务器端通过$_COOKIE来访问里面的数据
    setcookie
    /*
    只要调用这个函数,就会将用户的信息写到客户端,下次客户端访问其它界面的时候,就会

    将这些信息带过来
    写入的时候遵从键值对原则
    参数1:键名字符串
    参数2:值
    参数3:过期时间
    参数4:有效路径,一般都写网站根路径
    */
    setcookie('username', $username, time() + 5 * 60, '/');
    setcookie('user_type', $user_type, time() + 5 * 60, '/');

    退出步骤:
    将以前保存的所有的键值对的过期时间设置为当前时间以前即可
    setcookie('username', '', time() - 1, '/');
    

    4、session
    功能:
    客户端只保存一个sessionid号码,其他的信息都保存在服务器端,客户端访问网站

    的时候会将sessionid号带过来
    session_start
    只要用到$_SESSION这个数组之前,都要执行session_start这个函数。
    该函数第一次执行的时候会做两个工作:1、给客户端分配sessionid,2、在服务器端创建

    session文件
    $_SESSION['username'] = $username;
    $_SESSION['user_type'] = $user_type;
    退出步骤:
    session_start();
    $_SESSION = []; //将数组中所有的元素清空
    session_destroy();

    5、用户登录
    通过session来写用户登录和注册
    页面跳转
    <meta http-equiv="refresh" content="3;url=index.php">
    header函数
    header('location:index.php');

    【注】header\session_start\setcookie这些函数前面不能有任何的打印输出信息

    面试题:
    如果本地浏览器禁用了cookie,session可否使用?
    不能。
    为什么呢?
    sessionid是写在cookie里面的
    有没有办法解决呢?
    有,将sessionid拼接到url(地址栏中)中进行传递。
    配置php.ini中:修改session.use_trans_sid = 0改为1;
    session.use_only_cookies=1改为0; 1是禁用cookies

    相关文章

      网友评论

          本文标题:会话控制

          本文链接:https://www.haomeiwen.com/subject/ndfbottx.html