zoukankan      html  css  js  c++  java
  • cookie session ajax

    cookie

    cookie是服务器给客户端发送的一个小纸条,第一次访问服务器,服务器可以向客户端发送一个cookie,可以往这个cookie里面保存这个数据。客户端浏览器接收到服务器端响应的cookie之后,会保存起来,当我的客户端再去访问服务器的时候,会把这个cookie里面的数据带到服务器

    cookie是http协议定义的规范

    原理:传递的原理

    cookie是服务器发送到客户端

    发送一个请求到服务器,服务器向客户端发送cookie,这个cookie的值是通过响应头名称Set-Cookie响应头的值,是设置的这个值。客户端拿到set-Cookie之后,会按照http协议的方式去解析,把cookie进行保存,再去请求服务器,客户端会把cookie里面的数据以Cookie的方式发送到服务器

    生命周期:

    客户端如何保存cookie,以及cookie保存的时间

    三种cookie:

    内存cookie   服务器给客户端发送一个cookie,保存在客户端浏览器的内存中,当关闭浏览器,cookie就会消失 setcookie('name','zhangsan')

    硬盘cookie   服务器给客户端发送一个cookie,保存在用户的硬盘上面,持久化。关闭电脑,重启电脑,cookie依然存在(清除历史记录来清除cookie) 

    setcookie('name','zhangsan',time()+3600)

    ====>cookie在客户端的硬盘上的存活时间,1小时之后cookie销毁

    追杀cookie  把写在客户端的cookie清除掉

    setcookie('name','',-1)

    (服务器端决定发送的cookie的类型)

    应用场景:

    http协议的基于请求 响应,http协议是无状态的,服务器端不能记住客户端的状态。cookie是用来记住用户的状态,用来进行多个请求之间的数据共享,cookie是保存在客户端的。

    在客户端也可以设置cookie

    session

    概念

    session代表一次会话。

    web会话:

    打开网站,访问我的网站创建一个session时会话开始,同时向客户端相应一个cookie,在这个网站中我们可能发送多次请求,直至我关闭浏览器会话斌并不会结束。服务器端session没有了,会话结束,或者cookie没有了,session结束,session依赖于cookie。这整个过程我们可以理解成一次会话。每次请求都是独立的,http是无状态的,这一次会话中多个请求之间需要进行数据共享,这个时候我们就需要使用session

    当向服务器发送请求时,执行session_start(),这个方法会到session池当中去查找有没有一个session,根据客户端传递过来的cookie的sessionId去查找。假设时客户端没有传递,服务器会创建一个session,把session放在session池当中,然后以关联数组的形式去存放sessionId作为key,session作为值去进行存储。然后给客户端一个响应头。这个响应头就是一个cookie,这恶鬼cookie存的就是sessionId

    session默认保存一定的时间之后自动释放

    会话结束的两种情况:

    1 session超时

    2 客户端cookie清除

    心跳机制:

    session存活时间有默认值,如果在没有超过默认时间时,请求了一下服务器,获取了服务器的session,相当于刷了一次vi心跳,激活了session,session又可以存活默认时间

    session池放在内存中;如果访问的多,可以放在硬盘上,可以使用机群

    访问多的时候,就可以使用一个请求转发服务器,不同的请求转发到不同的服务器,减轻服务器的压力====》session同步

    使用

    原理

    cookie  存储的客户端,服务器向客户端保存数据

    session 存储在服务器的。依赖cookie

    sessionStorage  本地存储,基于h5,客户端存储,生命周期

    localStorage    本地存储,实例化到本地的硬盘

    cookie和session都是同步

    ajax

    ajax是异步;实现也买你不刷新,可以直接获取服务器的数据

  • 相关阅读:
    中国的信息产业一定由中国的工商业养活,中国的工商业一定要养活自己的信息产业
    2017-2018-1 20155201 《信息安全系统设计基础》第十三周学习总结
    2017-2018-1 20155201 实验五 通讯协议设计
    《深入理解计算机系统》第二章 信息的表示与处理
    2017-2018-1 20155201 《信息安全系统设计基础》第十一周学习总结
    2017-2018-1 20155201 实验四 外设驱动程序设计
    信息安全技术 实验四 木马及远程控制技术
    实验四
    2017-2018-1 20155201 《信息安全系统设计基础》第九周学习总结
    cmder使用手册
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/13226384.html
Copyright © 2011-2022 走看看