浅谈:cookies和session

                                                             测试空间旗下大头针出品  

 

最近身体不舒服去了趟北医三院,自认为身体不错,已经很久没有踏进医院的门了。进了医院先挂号,后看病,如果没有病例本,需要买一个。不过北医现在需要办就诊卡,如果没有就诊卡也不能看病,而且就诊卡和身份证是对应的。

 

   挂了号,等了好久,终于轮到我了。医生根据描述的情况,推断出是得了啥子病。肯定不是那个H1N1流感.然后往病例本上写了一些情况后,给开了药。让后让我把就诊卡和病历本收好,下次如果再来看病,可以再使用。

 

说了这么多,和cookies有什么关系呢?

什么是cookies呢?是网站(或称之为web服务器)用来表示用户的信息。通常是由服务器对象写到客户端的一个cookies文件中。以备下次再访问相应的网站(或称之为web服务器)的时候,网站能够非常快速的知道是谁在访问。

 

这个非常我们去医院看病,医院给你发放就诊卡、病历本,能够唯一标示你这个病号,如果下次你再生病的时候,你就要出示就诊卡和病历本。如果你把就诊卡和病历本给丢了,那么下次看病的时候还需要重新办理。如果把医院当成网站(或者web服务器)的话,那么就诊卡和病历本就可以看成是cookies.

 

cookies和session什么关系呢?

什么是session?

我们首先要说到http协议,http协议是无状态的。

什么是无状态?

举个例子:就像一对男女朋友聊天,双方都记不住两个人在说什么。女方说:亲爱的,还记得吗?今天是我们认识一周年的日子。男方回答:我今天吃得好饱啊,想吐了。男方说:你今天长得好漂亮。女方回答:太郁闷了,今天食堂伙食太差了。

如果平常都这样聊天,都给饭较上劲了,两个人之间还有个好?

 

session就是会话的意思。双方会话:要记住双方所说的话,然后才能进一步交流。

而网站(或者web服务器)如何实现的呢?

首先利用cookies,因为cookies可以标示客户端的一个用户,每次访问网站时候,网站都会读取cookies的值,而读取cookies值又会被session获取并存下来。session通过cookies就知道当前是哪个用户在访问本网站。而且能够存储用户的各阶段的操作,以及把session所有存储的值供所有的页面使用。当然不是说session存储的值是永远有效的,一般都是有时间限制的。

 

不能再举医院的例子了,太不吉利了。所以换个话题。

比如一个网上订书网站,用户a登录后,在选书页面(pagebook.asp),选了C语言的书籍,那么下一步就要付费了,付费的页面(chargebook.asp),就会显示C语言的书籍的价格20元。

 

session首先网站(或者web服务器)通过你的登录,以及读取你机器上cookies知道了是a用户,然后存储pagebook.asp的选择C语言书籍到session中,当你选择缴费的时候,付费页面chargebook.asp通过读取session中的值就知道了是a用户选了C语言,然后算出C语言书籍的价格20元。

关于session的时间限制可以想象,你的网上银行,一般是3-5分钟不操作,页面就自动失效了。其实都是session在起作用。

我们受不了无状态,受不了没有记忆。有了session相当于http协议有了暂时的记忆性。

 

当然理解了session和cookies,对于我们以后的web测试是有很大帮助的。

 

你可能感兴趣的:(session,Cookies,存储,语言,聊天,web服务)