博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cookie和Session
阅读量:5292 次
发布时间:2019-06-14

本文共 1617 字,大约阅读时间需要 5 分钟。

Cookie

Cookie是什么:

Cookie有时也用其复数形式Cookies,指某些网站为了辨别用户身份,进行session跟踪二存储的用户本地终端上的数据(通常经过加密),定义域RFC21092965中的都已废弃,最新取代的规范式RFC6265(也叫做浏览器缓存),简单理解就是登陆时会有一个记住密码,Cookie就是记住密码用的。

Cookie是在HTTP协议下,服务器或脚本维护客户工作站上信息的一种方式,Cookieweb浏览器保存在用户浏览器上的小文本文件

Cookie应用场景:

服务器可以利用Cookie包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态,Cookies最典型的应用是判定注册用户是否已经登陆网站,用户可能会得到提示,是否在写一次进入此网站时保留用户信息以便简化登陆手续,这些都是Cooikes的功能。另一个重要场景是“购物车”之类处理,用户可能会在一段事件内在同一家网站不同页面选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息

Cookie生存周期:

Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。

反对Cookies理由:

1、识别不精确;

一台计算机中有多台浏览器,每个浏览器都会在各自独立的空间存放cookie因为cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,cookie不会区分他们的身份,除非他们使用不同的用户名登录。

2、隐私,广告和安全

Cookies在某种程度上说已经严重危及用户的隐私和安全。其中的一种方法是:一些公司的高层人员为了某种目的(譬如市场调研)而访问了从未去过的网站(通过查到的),而这些网站包含了一种叫做网页臭虫的图片,该图片透明,且只有一个像素大小(以便隐藏),它们的作用是将所有访问过此页面的计算机写入cookie。而后,电子商务网站将读取这些cookie信息,并寻找写入这些cookie的网站,随即发送包含了针对这个网站的相关产品广告的给这些高级人员。

因为更具有针对性,使得这套系统行之有效,收到邮件的客户或多或少表现出对产品的兴趣。这些站点一旦写入cookie并使其运作,就可以从电子商务网站那里获得报酬,以维系网站的生存。

Session

1、存在服务器的一种用来存放用户数据的类HashTable结构。

2、浏览器第一次发送请求时,服务器自动生成了一HashTable和一Session ID来唯一标识这个HashTable,并将其通过响应发送到浏览器。浏览器第二次发送请求会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的HashTable

3、一般这个值会有个时间限制,超时后毁掉这个值,默认30分钟。

当用户在应用程序的 Web页间跳转时,存储在 Session 对象中的变量不会丢失而是在整个用户会话中一直存在下去。

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

转载于:https://www.cnblogs.com/InterfaceAOP/p/10254324.html

你可能感兴趣的文章
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
学android:直接用jdk来helloworld
查看>>
Access Jira RESTful API by cURL
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
Spark基础脚本入门实践3:Pair RDD开发
查看>>
HDU4405--Aeroplane chess(概率dp)
查看>>
RIA Test:try catch 对 Error #1009 (无法访问空对象引用的属性或方法)的处理
查看>>
python使用easyinstall安装xlrd、xlwt、pandas等功能模块的方法
查看>>
一个杯子的测试用例
查看>>
前端面试总结——http、html和浏览器篇
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
openCV(一)---将openCV框架导入iOS工程中
查看>>
Spring面试题
查看>>
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
一步步学习微软InfoPath2010和SP2010--第五章节--添加逻辑和规则到表单(2)--处理验证与格式化...
查看>>
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。...
查看>>
MVC,MVP 和 MVVM 的图示,区别
查看>>
IDEA快速实现接口快捷方式
查看>>