zoukankan      html  css  js  c++  java
  • 正确理解web交互中的cookie与session

    cookie存储在客户端的纯文本文件

    用户请求服务器脚本

    脚本设置cookie内容 并 通过http-response发送cookie内容到客户端并保存在客户端本地

    客户端再次发送http请求的时候会将本地的cookie内容添加到http请求头发送给服务器,服务器端脚本可以调用cookie内容

    流程如图

    cookie.php 脚本

    客户端第一次访问(发送http请求)脚本设置cookie(setcookie)到客户端 并不会显示cookie内容

    此时客户端的cookie文件已经生成

    cookie内容

    客户再次发送http请求的时候已经发送cookie过去了

    这个是请求头信息里面的内容 cookie加在http请求头发送到服务器

    服务器显示cookie内容到客户端的浏览器里面

    session是存储在服务器的文件 cookie内容保存在客户端,存在被客户篡改的情况,session保存在客户端防止被用户篡改的情况

    cookie是与用户的一个联系(一个用户一个cookie)、session只是将内容存储在服务器与用户的联系还是cookie

    session建立的时候将发送一个cookie到客户端 cookie内容存储的是PHPSESSID(用以唯一识别用户),内容存储在temp文件夹下命名为 sess_PHPSESSID

    session内容可以直接被脚本访问

    session的代码

    用户访问的时候可以直接显示session内容

    此时在服务器上生成了对应的session文件

    用户浏览器中的cookie里面存储的是对应的PHPSESSID

    发送的cookie内容

    注意到 cookie发送的正好是PHPSESSID 对应到服务器的session

    1. setcookie(name, value, expire, path, domain, secure);  
    2. /* 
    3. name cookie键名 
    4. value cookie值 
    5. expire cookie在客户端过期的时间 
    6. path 服务器路径 
    7. domain 域名 
    8. secure 是否https通道 
    9. -------------------------- 
    10. 当用户请求的uri符合 
    11. secure + domian + path 这个路径 
    12. cookie才会被发送给服务器 
    13. */  
    setcookie(name, value, expire, path, domain, secure);
    /*
    name cookie键名
    value cookie值
    expire cookie在客户端过期的时间
    path 服务器路径
    domain 域名
    secure 是否https通道
    --------------------------
    当用户请求的uri符合
    secure + domian + path 这个路径
    cookie才会被发送给服务器
    */
  • 相关阅读:
    罗振宇 知识就是力量之怎样做一个不冲动的人
    C++中stl的map
    stl中顺序性容器,关联容器两者粗略解释
    stl之容器、迭代器、算法几者之间的关系
    mysql技术内幕之常规使用
    essential c++ 第一章 array及vector相关使用
    由函数clock想到的
    编程获得CPU的主频
    Markdown 基本语法
    Future FutrueTask Callable类源码说明以及原理使用
  • 原文地址:https://www.cnblogs.com/kabi/p/6703203.html
Copyright © 2011-2022 走看看