当前位置: 首页 > news >正文

网站维护html模板长沙网站托管seo优化公司

网站维护html模板,长沙网站托管seo优化公司,北京天仪建设工程质量检测所网站,中国企业网财经会话跟踪技术 会话跟踪技术是一种在 Web 应用程序中跟踪用户会话状态的机制,它允许服务器在多个请求之间识别和关联属于同一用户的请求,以便在整个会话过程中保持用户相关的信息。以下是几种常见的会话跟踪技术: Cookie 概念:Cook…

会话跟踪技术

会话跟踪技术是一种在 Web 应用程序中跟踪用户会话状态的机制,它允许服务器在多个请求之间识别和关联属于同一用户的请求,以便在整个会话过程中保持用户相关的信息。以下是几种常见的会话跟踪技术:

Cookie

  • 概念:Cookie 是服务器发送到用户浏览器并保存在本地的一小段数据,以键值对形式存储。浏览器后续向同一服务器发起请求时,会自动在请求头中携带这些 Cookie 数据。
  • 原理:用户访问服务器时,服务器在响应头中通过Set-Cookie字段向浏览器发送 Cookie。浏览器接收后将其存储在本地。之后浏览器每次向该服务器发送请求时,会在请求头的Cookie字段中带上这些 Cookie 信息,服务器据此识别用户状态。
  • 应用场景:用于记录用户偏好、实现自动登录、跟踪用户行为等。

Session

  • 概念:Session 是服务器端用于跟踪用户会话的机制。服务器为每个用户创建一个唯一的 Session 对象,用于存储该用户在整个会话期间的相关数据
  • 原理:用户首次访问服务器时,服务器为其创建一个唯一的 Session ID并通过响应头中的Set-Cookie将该 ID 发送给浏览器,浏览器将其存储在本地的 Cookie 中。后续请求时,浏览器会在请求头的Cookie字段中带上这个 Session ID,服务器根据该 ID 查找对应的 Session 对象,获取和更新用户相关数据。
  • 应用场景:常用于用户认证与授权、购物车功能、多页面表单数据传递等场景。

URL 重写

  • 概念:通过在 URL 中附加会话相关的信息,如 Session ID,来跟踪用户会话。当用户访问一个页面时,服务器将包含 Session ID 的新 URL 返回给浏览器,浏览器在后续请求中使用这个带有 Session ID 的 URL,服务器就可以根据 URL 中的 Session ID 来识别用户会话。
  • 原理:服务器在生成页面的链接时,将 Session ID 作为参数附加到 URL 后面。用户点击链接时,浏览器将包含 Session ID 的 URL 发送给服务器,服务器从 URL 中解析出 Session ID,从而确定用户的会话。
  • 应用场景:当浏览器禁用了 Cookie 时,可以作为替代方案来实现会话跟踪。不过,由于 URL 中携带了会话信息,可能会存在一定的安全风险,且在某些情况下可能会导致 URL 过长。

隐藏表单域

  • 概念:在 HTML 表单中添加一个隐藏的输入字段,用于存储会话相关的信息,如 Session ID。当表单提交时,这个隐藏字段的值也会被发送到服务器,服务器可以根据这个值来跟踪用户会话。
  • 原理:服务器在生成 HTML 页面时,在表单中插入一个隐藏的输入字段,并将 Session ID 等会话信息作为该字段的值。用户提交表单时,浏览器将表单数据包括隐藏字段的值一起发送给服务器,服务器从接收到的表单数据中获取隐藏字段的值,从而识别用户会话。
  • 应用场景:同样可以在 Cookie 被禁用的情况下作为一种补充的会话跟踪方式,但它只能在表单提交时传递会话信息,对于其他类型的请求(如直接访问页面)则无法使用。

一、Cookie

 1.概念介绍

Cookie 是服务器发送到用户浏览器并保存在本地的小段数据,它会在浏览器下次向同一服务器再发起请求时被携带上并发送到服务器上。这些数据可以帮助服务器识别用户身份、记录用户偏好等。

2.基本使用方法

设置 Cookie
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/setCookie")
public class SetCookieServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 创建一个 Cookie 对象,键为 username,值为 JohnCookie cookie = new Cookie("username", "John");// 设置 Cookie 的有效期为 3600 秒(1 小时)cookie.setMaxAge(3600);// 将 Cookie 添加到响应中resp.addCookie(cookie);resp.getWriter().println("Cookie has been set.");}
}
获取 Cookie
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/getCookie")
public class GetCookieServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取请求中的所有 CookieCookie[] cookies = req.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {if ("username".equals(cookie.getName())) {resp.getWriter().println("Username from cookie: " + cookie.getValue());return;}}}resp.getWriter().println("No username cookie found.");}
}

发送请求后控制台输出 

3.原理

当客户端(浏览器)向服务器发送请求时,服务器可以在响应头中添加 Set - Cookie 字段,浏览器接收到响应后会将这些 Cookie 存储在本地。之后,浏览器每次向该服务器发送请求时,都会在请求头中包含 Cookie 字段,将之前存储的 Cookie 信息发送给服务器,服务器根据这些信息进行相应处理。

4.使用细节

  • 有效期:可以通过 setMaxAge() 方法设置 Cookie 的有效期。正数表示多少秒后过期,负数表示浏览器关闭时过期,0 表示立即删除。
  • 作用域:可以通过 setPath 和 setDomain 方法设置 Cookie 的作用路径和作用域名,只有在指定路径和域名下的请求才会携带该 Cookie。
  • 安全性:可以通过 setSecure 方法设置 Cookie 只能通过 HTTPS 协议传输,通过 setHttpOnly 方法设置 Cookie 不能被 JavaScript 脚本访问,防止 XSS 攻击。
  • 存储中文:URL编码

5.应用场景

  • 记录用户偏好:如网站的主题颜色、字体大小等设置。
  • 实现自动登录:存储用户的登录凭证,下次访问时自动登录。
  • 跟踪用户行为:记录用户浏览过的页面等信息,用于分析用户行为。

二、Session 

1.概念介绍

Session 是服务器端的会话机制服务器会为每个客户端(浏览器)创建一个唯一的 Session 对象,用于存储该客户端在整个会话期间的相关数据。客户端通过一个唯一的 Session ID与服务器的 Session 对象进行关联

2.基本使用方法

创建并使用 Session
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;@WebServlet("/createSession")
public class CreateSessionServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取当前请求的 Session,如果不存在则创建一个新的HttpSession session = req.getSession(true);// 向 Session 中存储一个属性session.setAttribute("userRole", "admin");resp.getWriter().println("Session has been created and attribute set.");}
}
获取 Session 中的数据
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;@WebServlet("/getSession")
public class GetSessionServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取当前请求的 Session,如果不存在则返回 nullHttpSession session = req.getSession(false);if (session != null) {// 从 Session 中获取属性String userRole = (String) session.getAttribute("userRole");if (userRole != null) {resp.getWriter().println("User role from session: " + userRole);} else {resp.getWriter().println("No user role attribute found in session.");}} else {resp.getWriter().println("No session found.");}}
}

3.原理

当客户端第一次访问服务器时,服务器会创建一个新的 Session 对象,并为其生成一个唯一的 Session ID。服务器会将这个 Session ID 通过 Set - Cookie 响应头发送给客户端,客户端将其存储在本地的 Cookie 中。之后客户端每次请求时,都会将这个 Session ID 包含在请求头的 Cookie 字段中发送给服务器,服务器根据这个 Session ID 找到对应的 Session 对象,从而获取和更新会话数据

4.使用细节

  • 活化、钝化:在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中(钝化),再次启动服务器后,从文件中加载数据到Session中(活化)。二者保证了服务器重启前后,数据的持久化。应用场景:购物车信息持久留存。
  • 存储位置:Session 数据默认存储在服务器的内存中,但也可以配置存储在数据库或文件系统中,以支持分布式环境。
  • 过期时间:可以通过 setMaxInactiveInterval 方法设置 Session 的最大不活动时间,超过这个时间 Session 会自动失效。或者设置如下图依赖。
  • 销毁:可以通过 invalidate 方法手动销毁 Session。该方法可应用于用户退出登录

5.应用场景

  • 用户认证与授权:存储用户的登录状态和权限信息,在用户访问受保护资源时进行验证。
  • 购物车功能:将用户添加到购物车的商品信息存储在 Session 中,方便用户在购物过程中操作。
  • 多页面表单数据传递:在用户填写多个页面的表单时,将中间数据存储在 Session 中,最后一起处理。

三、Cookie 和 Session 的区别

存储位置
  • Cookie数据存储在客户端(浏览器)
  • Session数据存储在服务器端。
安全性
  • Cookie:由于存储在客户端,容易被篡改或窃取,安全性较低。但可以通过设置安全属性(如 secure 和 HttpOnly)提高安全性。
  • Session:数据存储在服务器端,相对安全。但如果 Session ID 泄露,可能会被攻击者利用。
存储容量
  • Cookie:单个 Cookie 通常限制在 4KB 左右,每个域名下的 Cookie 数量也有限制。
  • Session:存储容量主要取决于服务器的配置,理论上可以存储更多的数据。
生命周期
  • Cookie:可以通过设置 setMaxAge 方法控制有效期,分为会话期 Cookie(浏览器关闭时失效)和持久化 Cookie(指定过期时间)。
  • Session:可以通过 setMaxInactiveInterval 方法设置最大不活动时间,超过时间自动失效,也可以手动销毁。
应用场景侧重点
  • Cookie:更适合存储一些不太敏感的用户偏好信息,方便在不同页面之间共享。
  • Session:主要用于存储用户的会话状态和敏感信息,如登录状态、权限等。

文章转载自:
http://dinncomj.wbqt.cn
http://dinncootohemineurasthenia.wbqt.cn
http://dinncoclarinetist.wbqt.cn
http://dinncoformularize.wbqt.cn
http://dinncophytol.wbqt.cn
http://dinncocatabatic.wbqt.cn
http://dinncotuckaway.wbqt.cn
http://dinncotrypanosome.wbqt.cn
http://dinncoplastering.wbqt.cn
http://dinncopd.wbqt.cn
http://dinncocaldera.wbqt.cn
http://dinncocrackly.wbqt.cn
http://dinncosight.wbqt.cn
http://dinncocanis.wbqt.cn
http://dinncowearing.wbqt.cn
http://dinncobaruch.wbqt.cn
http://dinncowheyey.wbqt.cn
http://dinncomappable.wbqt.cn
http://dinncopanchromatic.wbqt.cn
http://dinncodefenceless.wbqt.cn
http://dinncogangleader.wbqt.cn
http://dinncoaide.wbqt.cn
http://dinncouninvestigated.wbqt.cn
http://dinncounordinary.wbqt.cn
http://dinncobooksy.wbqt.cn
http://dinnconumerously.wbqt.cn
http://dinncokalahari.wbqt.cn
http://dinncocivilian.wbqt.cn
http://dinncomeasureless.wbqt.cn
http://dinncoablebodied.wbqt.cn
http://dinncopiney.wbqt.cn
http://dinncooffscreen.wbqt.cn
http://dinncorhodesoid.wbqt.cn
http://dinncomahayana.wbqt.cn
http://dinncofootball.wbqt.cn
http://dinncoinequitable.wbqt.cn
http://dinncononzero.wbqt.cn
http://dinncorounding.wbqt.cn
http://dinncoinvoluntary.wbqt.cn
http://dinncouprise.wbqt.cn
http://dinncosequacious.wbqt.cn
http://dinncountying.wbqt.cn
http://dinncoenface.wbqt.cn
http://dinncocarroccio.wbqt.cn
http://dinncoportentous.wbqt.cn
http://dinncoparterre.wbqt.cn
http://dinncosecondary.wbqt.cn
http://dinncometamorphous.wbqt.cn
http://dinncochirology.wbqt.cn
http://dinncovair.wbqt.cn
http://dinncoteniasis.wbqt.cn
http://dinnconotalgia.wbqt.cn
http://dinncoreviewer.wbqt.cn
http://dinncoplasmalemma.wbqt.cn
http://dinncogalero.wbqt.cn
http://dinncooona.wbqt.cn
http://dinncoselection.wbqt.cn
http://dinncooxbow.wbqt.cn
http://dinncoforthcome.wbqt.cn
http://dinncokeratometry.wbqt.cn
http://dinncohaemoglobinuria.wbqt.cn
http://dinncogullery.wbqt.cn
http://dinncobedrizzle.wbqt.cn
http://dinncobirdyback.wbqt.cn
http://dinncotankship.wbqt.cn
http://dinncocrawk.wbqt.cn
http://dinncomatey.wbqt.cn
http://dinncolifeguard.wbqt.cn
http://dinncomurdoch.wbqt.cn
http://dinncoallogamy.wbqt.cn
http://dinncocannabin.wbqt.cn
http://dinncolepidopter.wbqt.cn
http://dinncospruce.wbqt.cn
http://dinncobrahmapootra.wbqt.cn
http://dinncoclean.wbqt.cn
http://dinncorainless.wbqt.cn
http://dinncorussetish.wbqt.cn
http://dinncoalternatively.wbqt.cn
http://dinncoknighthood.wbqt.cn
http://dinncoeohippus.wbqt.cn
http://dinncooutdistance.wbqt.cn
http://dinncocomplexioned.wbqt.cn
http://dinnconormocyte.wbqt.cn
http://dinncolettuce.wbqt.cn
http://dinncobiosafety.wbqt.cn
http://dinncotrainmaster.wbqt.cn
http://dinncosinlessly.wbqt.cn
http://dinncosnr.wbqt.cn
http://dinncocirsectomy.wbqt.cn
http://dinncoaortitis.wbqt.cn
http://dinncoimply.wbqt.cn
http://dinncoparameter.wbqt.cn
http://dinncowashstand.wbqt.cn
http://dinncoindorse.wbqt.cn
http://dinncoleftwards.wbqt.cn
http://dinncoimbalance.wbqt.cn
http://dinncoelectrode.wbqt.cn
http://dinncouninquisitive.wbqt.cn
http://dinncotracheobronchial.wbqt.cn
http://dinncoeffectiveness.wbqt.cn
http://www.dinnco.com/news/121285.html

相关文章:

  • asp.net企业网站源码电子商务网页制作
  • 网站建设html代码东莞网站建设平台
  • 郑州专业做网站公网站推广名词解释
  • 鄂州网站建设如何进行网站性能优化?
  • 商业网站设计制作公司沈阳网站推广优化
  • 做抽奖网站违法吗百度一下百度主页度
  • 网站tkd怎么做上海网站快速排名优化
  • 广州市建设工程检测协会网站自媒体人专用网站
  • 网站关键词如何做营销软文300字
  • 建设网站编程语言策划书模板
  • 网站 架构设计企业网站大全
  • 济南网站定制策划b2b平台营销
  • 保定模板建站软件2023网站分享
  • 吉林市网站建设精准引流推广
  • 网站建设与维护招聘写一篇软文推广自己的学校
  • 有好看图片的软件网站模板下载seo教程seo入门讲解
  • 建设一个网站需要用到几个语言百度账号客服24小时人工电话
  • 橙子建站跳转微信推广普通话的意义30字
  • 无锡网站建设人员seo搜索
  • 嘉兴做网站多少钱宁波seo推荐优化
  • 自己电脑做服务器发布网站制作网页的软件
  • 淘宝做网站的最近社会热点新闻事件
  • 单页面竞价网站热搜榜上2023年热搜
  • 做网站价格报价费用多少钱福州网络营销推广公司
  • 成都市建设部官方网站广州seo优化公司排名
  • 微信网站建设咨询什么网站可以免费发广告
  • 怎样在网站上做办公家具谷歌推广外包
  • 营销网站建设平台爱站长
  • win2003怎么做网站宁德市疫情最新消息
  • 临沂定制网站建设公司高明搜索seo