zoukankan      html  css  js  c++  java
  • HTTP--cookie和session

      http是无状态协议,它不对之前发生过的请求和响应进行管理。也就是说,无法根据之前的状态进行本次的请求处理,哪怕你刚刚才访问过这个服务器,可当你下一秒再访问时,服务器已经忘了你是谁了。假设要求登陆认证的web页面本身无法进行状态的管理(不记录已登陆的状态),那么每次跳转页面就要再次登陆,或者要在每次请求报文中附加参数来管理登录状态。

      于是,引入了cookie技术。Cookie机制会根据服务器段发送的响应报文中的一个Set-Cookie的首部字段信息通知客户端保存cookie。当下一次客户端再向服务器发送请求时,客户端会自动在请求报文中加入一个cookie首部字段后发送,首部字段值为键值对的形式。

    一段通俗的解释过程:

    服务器为了区别用户,给每个首次访问网站的用户(请求头里没有cookie或者cookie里没有SessionID,SessionID即为cookie首部中的值)设置一个SessionID,同时在服务器端保存一个带有SessionID的文件,来保存用户的一些信息。

    因此,两者的区别在于:

    1.session是一种机制,cookie只是为了实现这个机制的一部分。

    2.cookie存储在客户端,也就是浏览器;SessionID以及其他的一些用户信息存储在服务器。

    3.浏览器在访问网页时会把该服务器给你的SessionID放到cookie头中去请求,这是所有浏览器最基本的功能。

    图解HTTP中的一个例子:

  • 相关阅读:
    刷题记录:[ByteCTF 2019]EZCMS
    angularJS——自定义指令
    HTML5——语音输入
    jQuery表单验证插件——jquery.validate.js
    纯CSS气泡效果
    管理Cookie的插件——jquery.cookie.js
    网页打印
    CSS hack
    如何挑选适合的前端框架(去哪儿网前端架构师司徒正美)
    让DIV水平和垂直居中的几种方法
  • 原文地址:https://www.cnblogs.com/wxylyw/p/9184599.html
Copyright © 2011-2022 走看看