JS学习之Cookie和Session

1.Cookie数据库

  • HTTP1.0中协议是无状态的,但在WEB应用中,在多个请求之间共享会话是很是必要的,因此出现了Cookiecookie是为了辩别用户身份,进行会话跟踪而存储在客户端上的数据;
    clipboard.png
  • 属性
    clipboard.png

2.Session浏览器

  • session是另外一种记录客户状态的机制,不一样的是Cookie保存在客户端浏览器中,而session保存在服务器上,客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session。客户端浏览器再次访问时只须要从该Session中查找该客户的状态就能够了;
  • 实现过程服务器

    • 在服务器端生成全局惟一标识符session_id
    • 在服务器内存里开辟此session_id对应的数据存储空间;
    • session_id做为全局惟一标示符经过cookie发送给客户端;
    • 之后客户端再次访问服务器时会把session_id经过请求头中的cookie发送给服务器;
    • 服务器再经过session_id把此标识符在服务器端的数据取出
    • 若是客户端的浏览器禁用了 Cookie 怎么办?通常这种状况下,会使用一种叫作URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上
  • 属性
    clipboard.png

3.Cookie和Session的区别cookie

  • cookie数据存放在客户的浏览器上,session数据放在服务器上(通常之内存、数据库、文件形式)。
  • session会在必定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用Cookie;
  • 单个cookie保存的数据不能超过4K,Session没有大小限制;
  • 总结:Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据能够保存在内存,集群、数据库、文件中;Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
相关文章
相关标签/搜索