Cookie和Session 简单介绍
添加Cookie
//1.0 在服务器端实例化cookie对象 HttpCookie cookie = new HttpCookie("name", name); //2.0 设置cookie在浏览器端有效时间为2分钟,注意:此时浏览器就会将cookie存入到其所在的硬盘(等待时间到期以后才消失) cookie.Expires = DateTime.Now.AddSeconds(); //3.0 Path ="/" 表示当前浏览器请求此网站的任何页面都会将有效cookie传入给服务器 cookie.Path = "/01cookie/"; //指定当前cookie只有在浏览器访问01cookie文件下下的所有页面才传入服务器 //4.0 设置Domain 表示当前cookie只有在当前设置好的域名下才有效 //注意:如果没有指定Domain 的情况下,asp.net会智能的读取当前url中的主机 //实现单点登录的简单方式可以设置cookie的Domain 为顶级域名 //顶级域名 .baidu.com //二级域名:www.baidu.com,zhidao.baidu.com mp3.baidu.com //三级域名:zhidao.s1.baidu.com ,但是一般只是用到二级域名,三级域名对于网站的seo优化回不明显 //单点登录:实现一次登录以后再当前域名下面的其他站点可以实现免登录 cookie.Domain = ".c12.com"; //将cookie的Domain设置成顶级域名以后再其所有的二级域名下的网站都可以共享此cookie //5.0 通过Response.Cookies 将cookie对象发送给浏览器保存 Response.Cookies.Add(cookie); //底层就是向相应报文头中 添加指令 set-cookie:name = admin;Expires UTC时间
获取Cookie的值:
if (Request.Cookies["name"] == null) { Response.Write("<script>alert('登录状态已经失效,请重新登录');window.location='login.aspx'</script>"); }
删除Cookie:
//清除cookie思路,一定是将cookie的过期时间设置为当前时间以前的某个时间点 //清除 path=/下的并且doamin曲子url主机的cookie HttpCookie cookie = new HttpCookie("name", ""); cookie.Expires = DateTime.Now.AddYears(-); //表示清除path=/01cookie/的cookie cookie.Path = "/01cookie/"; Response.Cookies.Add(cookie); //set-cookie :Expires:2013-4-11
Session:
1、存在服务器端,存在网站进程的内存中
2、在初次设置session的时候,会在session池中实例化一个session对象,以asp.net_sessionid 的值作为key,同时会将key以cookie的形式
保存到客户端的内存中
3、session的作用域只存在当前浏览器的会话中,当浏览器关闭以后就会将sessionid丢失,但是服务器的session对象要20分钟以后才会回收
4、在web.config中的 <system.web> 节点下添加 <sessionState timeout="5" cookieless="true"></sessionState> 手动修改session的相关设置
注意点:
aspx编译完成以后会自动实现接口IRequiresSessionState,所以能够直接使用session
但是一般处理程序,需要程序员自己实现接口IRequiresSessionState ,才能够使用session对象
如果浏览器禁用了cookie,则可以使用
设置:<sessionState cookieless="true"></sessionState> 来开启url传入sessionid到服务器,但是不推荐使用
添加Session:
//将当前name的值存入session中 context.Session["name"] = name;
获取Cookie:
(string)Session["name"]
删除Cookie:
//负责清除session context.Session["name"] = null; context.Session.Abandon(); 取消当前会话
在一般处理程序中要使用session 要实现System.Web.SessionState.IRequiresSessionState接口
Cookie和Session 简单介绍的更多相关文章
- Cookie和Session的介绍与认识
Cookie: cookie是一种客户端的状态管理技术. 当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以c ...
- cookie和session简单的用法
一.登录成功则设置cookie和session 二.在登录页判断是否已记住密码 三.在首页判断,和创建会话区 四.在首页执行并显示
- cookie和session的介绍
1.cookie和session cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此产生cookie. cookie的工作原理是:由服务器产生 ...
- Session简单介绍
Session 会话 , Session是基于Cookie的一种会话机制. Cookie是服务器返回一小份数据给客户端,并且存放在客户端上. Session是,数据存放在服务器端. 常用API //得 ...
- cookie跟session自我介绍
Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...
- 前端Cookie与Session的区别
我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...
- 前端页面——Cookie与Session有什么区别
我们在实际生活中总会遇到这样的事情,我们一旦登录(首次输入用户名和密码)某个网站之后,当我们再次访问的时候(只要不关闭浏览器),无需再次登录.而当我们在这个网站浏览一段时间后,它会产生我们浏览的记录, ...
- Cookie和Session的总结
1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...
- 【10】Cookie和Session
一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下 ...
随机推荐
- <aop:aspectj-autoproxy proxy-target-class="false"/>导致出现404状态码
今天干活的时候,由于是一个web应用,想在每次发送请求和返回响应的时候记录日志,也就是代理Controller,想起了之前的spring AOP,于是按照之前的配置配置好了,可是发现每次前端发送请求都 ...
- window.open 设置高和宽无效
当设置_self属性时,再设置宽和高就不管用,这个宽高会继承父窗口的宽高! window.open("url","_self","width=100, ...
- CodeForces - 893C-Rumor(并查集变式)
Vova promised himself that he would never play computer games... But recently Firestorm - a well-kno ...
- 爬取猫眼电影top100的代码
废话不说,代码附上: #encoding:utf-8 import requests import re import json from multiprocessing import Pool #多 ...
- http文件上传/下载
package unit; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputSt ...
- iOS WebDriverAgent 环境搭建
WebDriverAgent简介 WebDriverAgent是Facebook 在去年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架.当时的推文申明,还只支持模拟器,不过在今年 ...
- spring boot+jaspersoft实现复杂报表
1.实现效果: 2.下载 jaspersoft分为社区版和商业版,以下网址是社区版:https://community.jaspersoft.com/community-download
- java——调用一个静态方法的时候有没有执行这个类的构造方法,以及这个类中的静态常量?
尝试一下: public class Try { final static int a = 1; public Try() { System.out.print("构造方法"); ...
- 将个人博客与github关联
目录 将个人博客与github关联 将个人博客与github关联 #基于svg <a href="https://github.com/chatlotte" class=&q ...
- 单例模式+volatile禁止指令重排序
单例模式: 单例,顾名思义就是只能有一个.不能再出现第二个.就如同地球上没有两片一模一样的树叶一样. 在这里就是说:一个类只能有一个实例,并且整个项目系统都能访问该实例. 单例模式共分为两大类: 懒汉 ...