软件测试人员必备网络知识(一):什么是cookie?

 初入职场的新人,是否是常常会被一些基础的网络知识难住,又不敢问老大,只好默默的百度? 纳,我花一个星期的加班时间,把这些常常要用到的网络知识点给整理出来了! 这是一个系列的,若是对大家有用,后续还会继续发。Cookie 定义   “Cookie”是小量信息,由网络服务器发送出来以存储在网络浏览器上,从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览器读回此信息。这是颇有用的,让浏览器记住这位访客的特定信息,如上次访问的位置、花费的时间或用户首选项(如样式表)。Cookie 是个存储在浏览器目录的文本文件,当浏览器运行时,存储在 RAM 中。一旦你从该网站或网络服务器退出,Cookie 也可存储在计算机的硬驱上。当访客结束其浏览器对话时,即终止的全部 Cookie。为何要使用Cookie?   首先咱们要知道一个概念,web程序是使用HTTP协议传输的,而HTTP协议是无状态的协议,对于事务处理没有记忆能力。缺乏状态意味着若是后续处理须要前面的信息,则它必须重传,这样可能致使每次链接传送的数据量增大。 另外一方面,在服务器不须要先前信息时它的应答就较快。    举个例子:好比你去跟老师请一天假,老师问了你一遍缘由,准你请假。请假结束后你发现一天好像不够,而后你又去跟老师请假。老师又问了你一遍缘由。若是你是客户端,那么老师就是服务器端。你请假结束后,客户端和服务器端链接关闭,你要再次请假的话,客户端课服务器端须要从新链接,可是由于HTTP协议是无状态协议,服务器已经不知道你为何来了,因此又问了你一次。而Cookie的产生弥补HTTP协议的不足。 Cookie何时产生?   Cookie的使用一先要看需求。由于浏览器能够禁用Cookie,同时服务端也能够不Set-Cookie。 通常来讲,访问html不产生cookie,访问jsp,servlet产生cookie。客户端向服务器端发送一个请求的时,服务端向客户端发送一个cookie 而后浏览器将Cookie保存。cookie有两种保存方式,一种是浏览器会将cookie保存在内存中,还有一种是保存在客户端的硬盘中,以后每次http请求浏览器都会将cookie发送给服务器端。具体流程以下: 客户端提交一个HTTP请求给服务端 服务端这个时候作了两件事,一个是Set-Cookie,还有一个是提交响应内容给客户端 客户端再次向服务器请求时会在请求头中携带一个Cookie 服务端提交响应内容给客户端举例:分登陆以前和登陆后,登陆前服务端给浏览器一个Cookie,可是这个Cookie里面没有用户信息,可是登陆成功以后,服务端给浏览器一个Cookie,这个时候的Cookie已经记录了用户的信息,在系统内任意访问,能够实现免登陆。Cookie的生存周期?   Cookie在生成时就会被指定一个maxAge值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就立刻清除Cookie,不会记录用户信息,更加安全。能够总结一下:   a、若是maxAge属性为正数,则表示该Cookie会在maxAge秒以后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。不管客户关闭了浏览器仍是电脑,只要还在maxAge秒以前,登陆网站时该Cookie仍然有效。   b、若是maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。maxAge为负数的Cookie,为临时性Cookie,不会被持久化,不会被写到Cookie文件中。Cookie信息保存在浏览器内存中,所以关闭浏览器该Cookie就消失了。Cookie默认的maxAge值为–1。   c、若是maxAge为0,则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法,所以经过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存中删除:Cookie有哪些缺陷?   a、数量受到限制。一个浏览器能建立的 Cookie 数量最多为 300 个,而且每一个不能超过 4KB,每一个 Web 站点能设置的 Cookie 总数不能超过 20 个   b、安全性没法获得保障。一般跨站点脚本攻击每每利用网站漏洞在网站页面中植入脚本代码或网站页面引用第三方法脚本代码,均存在跨站点脚本攻击的可能。在受到跨站点脚本攻击时,脚本指令将会读取当前站点的全部 Cookie 内容(已不存在 Cookie 做用域限制),而后经过某种方式将 Cookie 内容提交到指定的服务器(如:AJAX)。一旦 Cookie 落入攻击者手中,它将会重现其价值。   c、浏览器能够禁用Cookie,禁用Cookie后,也就没法享有Cookie带来的方便。 
相关文章
相关标签/搜索