COOKIE
Cookie是一种能够让网站服务器把少量数据(4kb左右)储存到客户端的硬盘或内存,并且读取出来的一种技术
当你浏览某网站时,由Web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的Cookie发送到服务器去,服务器通过读取Cookie,得知你的相关信息,就可以做出相应的动作。
如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
浏览器访问一个站点时,只将属于当前站点的Cookie发过到服务器。(根据域名)—(没必要把每家医院的病历本都带过去。)
Cookie不兼容浏览器!(不同浏览器不共享Cookie文件数据)
在硬盘中存放的位置与使用的操作系统和浏览器密切相关。
Response.AppendCookie(new HttpCookie("laoma","niub"));
设置COOKIE失效时间
HttpCookie cookie=new HttpCookie("laoma","niub"); cookie.Expires=DateTime.Now.AddHours(1);
设置为不可以用
cookie.Expires=DateTime.Now.AddHours(-1);
如果设置主域的cookie能被所有的子域访问到如www.tieba.baidu.com使用www.baidu.com的cookie只需要设置
cookie.Domain = www.baidu.com
如果想让子域的cookie能被主域访问设置如下:
cookie.Secure = false;
cookie只给cookie文件夹下面的页面使用
//当前这个cookie只给cookie文件夹下面的页面使用 cookie.Path = "website/cookie";
表单是和页面相关的,只有浏览器端提交了这些数据,服务器端才能得到。而有时候希望在服务端任意的地方存取一些和访问者相关的信息,这时候就不方便将这些信息保存到表单中了,因为如果那样的话必须随时注意在所有页面表单中都保存这些信息。Cookie是和站点相关的,并且每次向服务器请求的时候除了发送表单参数外,还会将和站点相关的所有Cookie都提交给服务器,是强制性的。Cookie也是保存在浏览器端的,而且浏览器会在每次请求的时候都会把和这个站点的相关的Cookie提交到服务器,并且将服务端返回的Cookie更新到硬盘,因此可以将信息保存在Cookie中,然后在服务器端读取、修改。服务器返回数据除了普通的html数据以外,还会返回修改的Cookie,浏览器把拿到的Cookie值更新本地浏览器的Cookie就可以。
哪怕请求jpg、js、css这种文件也会带着Cookie,因为服务器端可能要进行Session的操作,比如判断是否登录。互联网优化的案例:图片服务器和主站域名不一样,降低Cookie流量的传输。Cookie的缺点和表单一样,而且还不能存储过多信息。客户端、服务器端设置的Cookie双方都能读
cookie常用于登陆和最近浏览的东东
session
Session提供了一种把信息保存在服务器内存中的一种方式。它能存储任何数据类型包括自定义对象。
每个客户端的Session是独立存储。
Session 对象用于存储有关用户的信息。
在整个用户会话过程中都会保留此信息。(保存SessionId的cookie丢失之前),这里我们在后台输入代码
Session["cookie"] = "dddddd";
打开谷歌调试工具
再看site.css
会发些sessionid是一样的。
当用户在应用程序中从一个网页浏览到另一个网页时,存储在 Session 对象中的变量不会被丢弃。
Session只可由该会话的用户访问(因为SessionId的东东以cookie的方式保存访问者浏览器的缓存里了)
用户不能访问或修改他人的Session
注意:当会话过期或终止时,服务器就会清除 Session 对象
开发场景:常用于保存登录用户ID