在Web开发中,我们必须掌握会话,会话跟踪,Cookie与Session的含义,下面将介绍一些它们的知识点:
1.会话
会话就是你通过浏览器与服务器之间的一次通话,会话是用来识别用户的,一旦你关闭了浏览器,虽然会话没有结束,但是你重新打开浏览器时,已经不能再次利用上一次的会话了,它会新建一个新的会话。
客户端向服务端发送一个请求,服务端接收到请求后,生成会话ID(sessionID),把会话ID发送给客户端,客户端接收到这个会话ID,把它存储起来,下一次发送请求的时候,附带着这个会话ID一起发送给服务端。会话ID是会话的唯一标识符,一个会话ID只会对应一个会话,就像身份证号码只对应一个人一样。
2.会话跟踪
当用户在同一网站的多个页面之间转换时,无法确定是否是同一个客户时,会话跟踪技术就可以解决这个问题。
3.四种会话跟踪技术:
隐藏表单域、 URL重写 、 Cookie、Session。
1).隐藏表单域:<input type="hidden">,适合需要大量数据存储的会话应用。
2).URL 重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。
url?参数名=值&参数名=值
3).Cookie: Cookie是Web服务器发送给客户端的一小段信息,客户端请求时可以读取该信息发送到服务器端,进而进行用户的识别。对于客户端的每次请求,服务器都会将Cookie发送到客户端,在客户端可以进行保存,以便下次使用。
客户端可以采用两种方式来保存这个Cookie对象,一种方式是 保存在 客户端内存中,称为临时Cookie,浏览器关闭后 这个Cookie对象将消失。
另外一种方式是设置Cookie存在时间,保存在 客户机的磁盘上,称为永久Cookie。以后客户端只要访问该网站,就会将这个Cookie再次发送到服务器上,前提是 这个Cookie在有效期内。 这样就实现了对客户的跟踪。
Cookie是可以被禁止的。
4).Session:每一个用户都有一个不同的session,各个用户之间是不能共享的,是每个用户所独享的,在session中可以存放信息。
在服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到Cookie中发送到客户端,下一次访问时,sessionID会发送到服务器,在服务器端进行识别不同的用户 。
使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话。
4.Cookie 和Session 的区别:
1)、 Cookie 数据存放在客户的浏览器上, Session 数据放在服务器上。
2)、 Cookie 不是很安全,别人可以分析存放在本地的Cookie并进行 Cookie 欺骗,
考虑到安全应当使用 Session 。
3)、 Session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用 Cookie 。
4)、单个 Cookie 保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个 Cookie 。
所以,我们应将登陆信息等重要信息存放为Session,其他信息如果需要保留,可以放在 Cookie 中。
分享到:
相关推荐
会话跟踪技术cookie,session
JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar JavaWeb09-EL与JSTL.rar JavaWeb10-...
讲述了javaweb之cookie和session的基本使用,用不同的风格叙述给大家听,希望大家可以更好地去理解!
PHP会话控制SESSION与COOKIE
javaWeb技术,使用到session cookie来实现会话跟踪技术的实现
Cookie与SESSION有什么区别,Cookie与SESSION有什么区别
cookie、session会话技术
cookie-session, 基于简单cookie的会话中间件 cookie会话 基于简单cookie的会话中间件。用户会话可以通过 Cookies 以两种主要方式存储: 在服务器上或者在客户端上。 这个模块在cookie中存储会话数据,而像 express...
一、cookie机制和session机制的区别 ...... 二、会话cookie和持久cookie的区别 ......
Java Web基础与实例教程的PPT,自己制作的PPT,将近400页,免费分享,童鞋们努力学习吧。
当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。...
// 开始一个会话,如果要使用session程序最前面一定要加上这句 $_SESSION['user_id'] = ‘123′;//给一个session 变量赋值,如果该变量不存在即创建 echo $_SESSION['user_id'];//访问 session变量 $_SESSION = ...
会话技术简单介绍,会话可以简单的理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。会话过程中要解决的一些问题?每个用户与服务器进行交互的过程中,...
NULL 博文链接:https://panjiangchuan.iteye.com/blog/831989
不一样地风格讲述 , 让新手更加容易接受 . 把简单变得更简单,把难的也变简单化..不一样地风格讲述 , 让新手更加容易接受 . 把简单变得更简单,把难的也变简单化..
NestJS的惯用Cookie会话模块。 建立在之上 :smiling_face_with_sunglasses: 例 注册模块: // app.module.ts import { Module } from '@nestjs/common' ; import { NestCookieSessionOptions , ...
此模块将会话数据存储在cookie内的客户端上,而类似的模块仅将cookie内的客户端存储在会话标识符上,并将会话数据存储在服务器上(通常在数据库中)。 以下几点可以帮助您选择使用哪个: cookie-session不需要...
就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId到cookie,cookie的maxAge设置为-1,仅对当前会话有效...
WEB16_session&cookie。 案例一、记录用户的上次访问时间---cookie 案例二、实现验证码的校验----session。 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,...
第五章 cookie与session会话技术思维导图.png