zoukankan      html  css  js  c++  java
  • session和cookie的区别

    前言

    HTTP是一种无状态的协议,为了分辨链接是谁发起的,需自己去解决这个问题。不然有些情况下即使是同一个网站每打开一个页面也都要登录一下。而Session和Cookie就是为解决这个问题而提出来的两个机制。

    cookie

    Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一服务器,是在客户端保持状态的方案

    Cookie的主要内容包括:名字,值,过期时间,路径和域。使用Fiddler抓包就可以看见,比方说我们打开百度的某个网站可以看到Headers包括Cookie,如下: 

    1. cookie:
      pgv_pvi=1122913280; RK=kNDBnwglyN; _qpsvr_localtk=0.5169928916729987; pgv_si=s5336803328; ptisp=cm; ptcz=961722ff3aa4606cbb3ad37fb2eef69bc6b1fdfbebdc926c6adee05dbf49504e; uin=o0515698513; skey=@ryvW1vZvC; pt2gguin=o0515698513; p_uin=o0515698513; pt4_token=1GJeMhmDgMbYUZ1ZeVI8VFvlxEohQ7YYhPlZelsy25U_; p_skey=ZKKSaUADAfYYeMcEQdamWBIvm*LkedmgPw5TCBjRivA_

    key, value形式的存在,过期时间可设置的,如不设,则浏览器关掉就消失了,存储在内存当中,否则就按设置的时间来存储在硬盘上的,过期后自动清除

    session

    保存在服务端的一个键值对

    浏览器第一次发送请求时,服务器自动生成了session来标记这个用户,并将其通过响应发送到浏览器。浏览器第二次发送请求会将前一次服务器响应中的Session放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到对应的用户
    一般这个值会有个时间限制,超时后毁掉这个值,默认30分钟。
    当用户在应用程序的 Web页间跳转时,存储在 Session 对象中的变量不会丢失而是在整个用户会话中一直存在下去。

    session和cookie的关联
    Session的实现方式和Cookie有一定关系。建立一个连接就生成一个session,打开几个页面就好几个了,这里就用到了Cookie,把session 存在Cookie中,每次访问的时候将Session 带过去就可以识别了.

  • 相关阅读:
    2021.07.11 【ABAP随笔】采购订单Message输出打印
    项目管理43210学习笔记
    Rails跳过回调方法
    树莓派接USB温湿度传感器(python)
    Visual Studio2019安装时报错Microsoft.Net.4.7.2.FullRedist的解决方法
    微信浏览器中H5使用wx-open-launch-app打开第三方APP
    Linux系统使用qq邮箱在线发送邮件
    LRU工程实现源码(一):Redis 内存淘汰策略
    Android Studio解决Build Log出现乱码问题
    git新拉取项目
  • 原文地址:https://www.cnblogs.com/xxy0703/p/9912175.html
Copyright © 2011-2022 走看看