简要介绍cookie与session的区别与联系

一cookie和session的区别

一、cookie是什么?

    cookie是存在于客户端(浏览器)。html

  cookie的使用是由浏览器按照必定的原则在后台自动发送给服务器的。浏览器检查全部存储的cookie,若是某个cookie所声明的做用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。后端

  cookie的内容主要包括:名字,值,过时时间,路径和域。其中路径与域一块儿构成cookie的做用范围。若不设置过时时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。以下图:访问百度获得的cookie,域都是指向百度的。浏览器

二、session是什么?

   session 存在于服务器端。 服务器

    session机制是一种服务器端的机制,服务器使用一种相似于散列表的结构(也可能就是使用散列表)来保存信息。 cookie

2、cookie与session如何联系与通讯的

    cookie和session的做用都是为了保持访问用户与后端服务器的交互状态session

    用户首次与Web服务器创建链接的时候,服务器会给用户分发一个 SessionID做为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪个客户端。这个SessionID就是保存在客户端的,属于客户端Session。其实客户端Session默认是以cookie的形式来存储的。固然咱们客户端能够禁用cookie,这时候服务器端就拿不到sessionID。url

    另一个办法:使用url方式存储sessionID;可是通常都不推荐使用,由于能够伪造url。spa

参考网址:http://www.cnblogs.com/lingshao/p/5580273.htmlhtm

参考书籍:《深刻分析Java Web技术内幕》(修订版)第十章 深刻理解session和cookieblog

相关文章
相关标签/搜索