简述Seesion和Cookie
1.0 为什么需要session和cookie?
当用户在发送一个请求关得到返回信息之后,客户端与服务器端之间的网络连接就已经断开了,在下一个请求发送时,服务器无法确定这次请求和上次的请求是否来自同一个客户端。也就是说,服务器不能记住"记住"用户,这是hptp协议的限制。在web应用程序中,实际上是经常需要记住每次请求的。那么,如何让服务器知道不同的请求是否来自同一个客户端,就是状态管理问题出现了session和cookie。(简单说:就是因为http的无状态性,无法保存用户的信息,所以需要一些状态保存机制保存用户的信息)
2.0 那什么是cookie?什么是session?
cookie:中文名小型文字档案或小甜饼,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2019.为网景公司的前雇员Lou Montulli 在1993年3月所发明。(摘自维基百科)
session:session也是用来存信息的,它存在服务器端,在初次设置session的时候,会在session池中实例化一个session对象,并以asp.net_sessionid的值作为key,同时会将key以cookie的形式存到客户端的内存中。通过asp.net_sessionid来取session的值。
3.0 关于cookie和session的部分用法
3.1 cookie:
3.1.1 实例化cookie对象:
HttpCookie cookie = new HttpCookie("uid", uid);
3.1.2 告诉浏览器只有请求指定了路径下的页面 才将cookie发送给服务器,如果未指定默认就是 /
cookie.Path = "/P01cookiedemo/";
3.1.3 设置了Expires 参数则表示告诉浏览器将cookie存入硬盘中
cookie.Expires = DateTime.Now.AddDays(3);
3.1.4 设置了Domain,告诉浏览器只有请求www.c11.com 域名下的页面才将cookie发送给服务器
cookie.Domain = www.c11.com;
3.1.5 将cookie添加到响应报文头中发送回浏览器保存
Response.Cookies.Add(cookie);
3.1.6 获取浏览器通过请求报文头 发送给服务器的cookie 值的 写法,uid:为cookie的键,可以由程序员自己定义
if(Request.Cookies["uid"]!=null)
{
Request.Cookies["uid"].Value;
}
3.2 Session
3.2.1 在web.config中的 <system.web> 节点下添加以下代码 手动修改session的相关设置
<sessionState timeout="" cookieless="true"></sessionState>
3.2.2 注意:
aspx编译完成以后会自动实现接口IRequiresSessionState,所以能够直接使用session,但是一般处理程序,需要程序员自己实现接口IRequiresSessionState ,才能够使用session对象。
4.0 session和cookie的区别
4.1.1 cookie数据存放在客户的浏览器上,session数据放在服务器上。
4.1.2 cookie不是很安全(虽然经过加密),他人可以分析存放在本地的cookie并进行cookie欺骗 考虑到安全应用当使用session。
4.1.3 session 会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能。考虑到减轻服务器性能方面,应当使用cookie。
4.1.4 单个cookie保存的数据不能4k ,很多浏览器都限制一个站点最多保存20个cookie
5.0 cookie和session 作用
cookie用来保存一些不太重要的信息
session用来保存用户的账号密码之类的重要信息
简述Seesion和Cookie的更多相关文章
- 深入浅出seesion和cookie
session在计算机中,尤其是在网络应用中,称为"会话控制".session 对象存储特定用户会话所需的属性及配置信息.session跟踪是Web程序中常用的技术,用来跟踪用户的 ...
- [py]flask操作cookie&django的seesion和cookie机制
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- 简述Session 、Cookie、cache 区别
区别: 1.session是把数据保存在服务器上,每一个用户都有自己的session. 2.cookie是保存在客户端(也就是本机电脑). 3.cache是保存在服务器上,每个用户都可以访问的对象. ...
- Seesion和Cookie详解2
转载来自: https://www.toutiao.com/a6693986851193094664/?tt_from=weixin&utm_campaign=client_share& ...
- 关于Cookie的有关内容
1.首先谈谈http协议与状态保持. Http协议本身是无状态的,这与http协议本来的目的是相符的,客户端只需要简单的向服务器发出请求操作,然后服务器对请求作出响应.无论客户端还是服务器都没有必要记 ...
- django之模型层(model)--查询补充及cookie
已经连续写了好几篇django的模型层(model)增删改查的随笔了,没篇大篇幅都是查询相关的操作,可以看出查询在数据的操作中是多么的重要,而本篇最后再补充一点关于关于查询的一些方法,模型层基本的操作 ...
- [py][mx]django的cookie和session操作-7天免登录
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- 服务器对cookie信息加密
通过redis的seesion对cookie信息加密 --- 防止cookie记录的用户信息泄露 import tornado.ioloop import tornado.web from data ...
- 《52讲轻松搞定网络爬虫》读书笔记 - Session和Cookie
为什么要用Session和Cookie? 简单一句话,因为Session和Cookie可以记录用户状态信息 嘶..这到底啥意思呢? 背景一:动态网页的出现 什么是静态网页 含义:一个网页的内容是HTM ...
随机推荐
- XML相关概念
XML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XSL:XSL = XML 样式表.XSL 之于XML,就像CSS之于HTML.它是指可扩展样式语言 ...
- 浅析Python中的struct模块
最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...
- vue.js学习笔记(一):什么是mvvm框架,vue.js的核心思想
一:MVVM框架 MVVM框架的应用场景: 1.针对具有复杂交互逻辑的前端应用 2.提供基础的架构抽象 3.提供ajax数据持久化,保证前端用户体验 二:vue.js的核心思想 (一):数据驱动 ( ...
- es6小技巧
let myKey = 'variableKey'; let obj = { key1: 'One', key2: 'Two', [myKey]: 'Three' /* 棒呆! */ }; 给变量键加 ...
- Demo_玩家移动(主要注意动画的设置)
using UnityEngine; using System.Collections; public class NewPlayerMove : MonoBehaviour { private fl ...
- 【动态页面】(二)Java反射
Java的反射机制是Java语言非常重要的一个特性.先从Sun官网上看一下官网是怎样定义反射机制的. 大致翻译一下,翻译的可能不是非常准确. 反射(Reflection)是Java程序设计语言的一个特 ...
- linux两台server远程copy文件
1.将远程机器的文件copy到本地 scp -r root@10.10.15.25:/bea /gg 将远程的/bea copy到/gg以下 -r Recursively copy ent ...
- Valgrind 安装与使用
调不尽的内存泄漏,用不完的Valgrind Valgrind 安装 1. 到www.valgrind.org下载最新版valgrind-3.2.3.tar.bz2 2. 解压安装包:tar –jxvf ...
- 查看Linux声卡基本信息[转载]
查看系统版本~$ uname -aLinux laptop 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:20 UTC 2008 i686 GNU/Linux 查看型 ...
- 第四篇:SQL
前言 确实,关于SQL的学习资料,各类文档在网上到处都是.但它们绝大多数的出发点都局限在旧有关系数据库里,内容近乎千篇一律.而在当今大数据的浪潮下,SQL早就被赋予了新的责任和意义. 本篇中,笔者将结 ...